X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fmodels%2Fspeech_balloon.rb;h=14b8f2d025712fa451ea70850c8d1e17cfa24643;hb=467daaf74bbf62a7ad43d7af7fd6326bfacd9010;hp=875041ac7d77d098e2b41e69946fb20a07445d4f;hpb=1b3722cca7c8de628bc1de97b4b95ab42a626454;p=pettanr%2Fpettanr.git diff --git a/app/models/speech_balloon.rb b/app/models/speech_balloon.rb index 875041ac..14b8f2d0 100644 --- a/app/models/speech_balloon.rb +++ b/app/models/speech_balloon.rb @@ -10,10 +10,10 @@ class SpeechBalloon < Peta::Element validates :panel_id, :numericality => {:allow_blank => true} validates :speech_balloon_template_id, :presence => true, :numericality => true, :existence => {:both => false} - validates :classname, :presence => true, :length => {:maximum => 50} + validates :speech_balloon_template_module_name, :presence => true, :length => {:maximum => 50} validates :z, :presence => true, :numericality => {:greater_than => 0} validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0} - validates :settings, :extend_speech_balloon => true + validates :speech_balloon_template_settings, :boost => {:boost_name => :speech_balloon_template} def self.by_author_list_includes { @@ -23,24 +23,6 @@ class SpeechBalloon < Peta::Element } end - def self.list_opt_for_panel - { - :speech_balloons => {:balloon => {}, :speech => {}} - } - end - - def self.show_opt_for_panel - { - :speech_balloons => {:balloon => {}, :speech => {}} - } - end - - def self.json_opt_for_panel - { - :balloon => {}, :speech => {} - } - end - def self.has_picture? false end @@ -56,83 +38,18 @@ class SpeechBalloon < Peta::Element self.panel_id = pid end - def visible? operators - return false unless super - self.owner_model.visible? operators - end - def symbol_option self.speech_balloon_template.symbol_option end - def tag_element_type - 'speech_balloon' - end - - def self.list_where + def self.public_list_where 'panels.publish > 0' end - def self.list_order - 'speech_balloons.updated_at desc' - end - - def self.list_json_opt - {:include => {:panel => {:include => {:author => {} }}, :balloon => {}, :speech => {}, :speech_balloon_template => {} }} - end - def self.show_opt {:include => {:panel => {:author => {}}, :balloon => {}, :speech => {}, :speech_balloon_template => {} }} end - def self.show_json_opt - {:include => {:panel => {:include => {:author => {} }}, :balloon => {}, :speech => {}, :speech_balloon_template => {} }} - end - - def store operators, attr - if self.new_record? - sb = self.panel.speech_balloons.build - sb.attributes = attr - else - self.panel.speech_balloons.each do |speech_balloon| - next unless speech_balloon == self - attr.delete 'id' - speech_balloon.attributes = attr - break - end - end - self.panel.store({}, operators) - end - - def remove au - self.panel.remove_element(self, au) - end - - def parts - @parts ||= [self.balloon, self.speech] - end - - def engine_path_name - self.speech_balloon_template.engine_name + '/' - end - - def path_name with_engine = false - (with_engine ? self.engine_path_name : '') + - self.class.path_name - end - - def form_template with_engine = false - self.path_name(true) + '/form' - end - - def speech_form_template with_engine = false - self.engine_path_name + 'speeches/form' - end - - def balloon_form_template with_engine = false - self.engine_path_name + 'balloons/form' - end - def scenario_template with_engine = false self.path_name(true) + '/scenario' end