orbit-basic/vendor/built_in_modules/survey/app/models/survey_question.rb

49 lines
1.0 KiB
Ruby
Raw Normal View History

2013-04-29 08:06:45 +00:00
class SurveyQuestion
Oneline = 0
Multiline = 1
Radio = 2
Check = 3
Select = 4
Radiogroup = 5
include Mongoid::Document
field :title, :localize => true
field :description, :localize => true
field :is_required, :type => Boolean
field :type, :type => Integer
# allow custom answer option
field :custom_option, :type => Boolean
2013-06-07 10:46:30 +00:00
field :sequence, :type => Integer, :default => 0
2013-04-29 08:06:45 +00:00
belongs_to :survey
embeds_many :survey_question_options
embeds_many :survey_question_radiogroups
accepts_nested_attributes_for :survey_question_options, :allow_destroy => true
accepts_nested_attributes_for :survey_question_radiogroups, :allow_destroy => true
2013-06-07 10:46:30 +00:00
default_scope asc(:sequence)
def jumpable?
case type
when SurveyQuestion::Radio, SurveyQuestion::Select
true
else
false
end
end
def can_set_jump?
( !custom_option )
end
def get_jump_tos
Hash[survey_question_options.select{ |o| !o.jump_to.blank? }.collect{ |o| [o.id.to_s, o.jump_to] }]
end
2013-04-29 08:06:45 +00:00
end