class AdBanner include Mongoid::Document include Mongoid::Timestamps include Mongoid::MultiParameterAttributes include OrbitCoreLib::ObjectAuthable include OrbitTag::Taggable field :title field :transition_msec,type: Integer field :ad_fx #TODO Design should explain field :best_size,:default => '' before_save :save_or_destroy validates_uniqueness_of :title validates :title , :length => { :minimum => 2 } has_many :ad_images , dependent: :delete FX_TYPES = ["blindX","blindY","blindZ","cover","curtainX","curtainY","fade","fadeZoom","growX","growY","scrollUp","scrollDown","scrollLeft","scrollRight","scrollHorz","scrollVert","shuffle","slideX","slideY","toss","turnUp","turnDown","turnLeft","turnRight","uncover","wipe","zoom"] attr_writer :transition_sec AfterObjectAuthUrl = '/panel/page_content/back_end/page_contexts' APP_NAME = 'ad_banners' ObjectAuthTitlesOptions = %W{edit} def pp_object title end def transition_sec self.transition_msec/1000 rescue nil end def transition_sec=(sec) self.transition_msec = sec.to_i*1000 end def preview_clone preview_banner = self.clone preview_banner.ad_images = self.ad_images preview_banner end # def new_ad_images(*attrs) # debugger # a=1 # attrs[0].each do |attr| #Loop by JSs,Themes,Imgs # unless attr[:file].nil? # self.ad_images << AdImage.new(attr) # end # end # end # def existing_ad_images=(*attrs) # attrs[0].each do |attr| #Loop by JSs,Themes,Imgs # ad_image = self.ad_images.find attr[0] # ad_image.update_attributes(attr[1]) # end # end def save_or_destroy self.ad_images.each do |ad_image| if ad_image.to_save? ad_image.save end if ad_image.to_destroy? ad_image.destroy end end end end