# -*- encoding : utf-8 -*- class Page < ActiveRecord::Base has_many :lang_pages accepts_nested_attributes_for :lang_pages has_one :menu_item, :as => :menu_content has_many :blocks, :as => :blockable, :dependent => :destroy after_save do if self.menu_item self.menu_item.updated_at = Time.now self.menu_item.save end end #validates :title, :presence => true HUMAN_NAME = "Page" after_create :after_creation def after_creation LangSite.all.each do |lang| @block = Block.new(:block_name => "general", :lang_site => lang) @block.blockable = self @block.save end end def dup @new = Page.new(self.attributes) @new.id = nil @new.save @new.blocks.destroy_all self.lang_pages.each do |lang_page| new_p = lang_page.dup new_p.title = lang_page.title+" copie" new_p.page = @new new_p.save end self.blocks.each do |block| new_b = block.dup new_b.blockable = @new new_b.save end @new end def as_indexed_json(options={}) self.as_json( include: { lang_pages: { methods: [:html], only: [:title, :description, :html]}#, # authors: { methods: [:full_name], only: [:full_name] }, # comments: { only: :text } }) end end #Page.import