2011-05-18 02:00:00 +00:00
|
|
|
class PagePart
|
|
|
|
|
|
|
|
include Mongoid::Document
|
|
|
|
include Mongoid::Timestamps
|
|
|
|
|
|
|
|
field :name
|
|
|
|
field :content
|
2011-05-25 08:27:17 +00:00
|
|
|
field :kind
|
2012-02-16 04:16:27 +00:00
|
|
|
field :public_r_tag
|
2012-04-23 18:30:40 +00:00
|
|
|
field :public_r_tag_object_id, :default => nil
|
2012-05-08 20:15:45 +00:00
|
|
|
field :public_r_tag_option, :default => nil
|
2012-02-16 04:16:27 +00:00
|
|
|
field :widget_path
|
2012-07-16 08:13:38 +00:00
|
|
|
field :widget_style
|
|
|
|
field :widget_data_count
|
2012-02-16 04:16:27 +00:00
|
|
|
|
2012-05-13 14:35:00 +00:00
|
|
|
has_one :i18n_variable, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
|
|
|
has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
2011-05-18 02:00:00 +00:00
|
|
|
|
|
|
|
belongs_to :page
|
2012-02-16 04:16:27 +00:00
|
|
|
belongs_to :module_app
|
2011-05-18 02:00:00 +00:00
|
|
|
|
2012-05-13 14:35:00 +00:00
|
|
|
before_save :set_key
|
|
|
|
|
|
|
|
def i18n_variable
|
|
|
|
@i18n_variable ||= I18nVariable.first(:conditions => {:key => 'i18n_variable', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
|
|
|
end
|
|
|
|
|
|
|
|
def title
|
|
|
|
@title ||= I18nVariable.first(:conditions => {:key => 'title', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
|
|
|
end
|
|
|
|
|
|
|
|
protected
|
|
|
|
|
|
|
|
def set_key
|
|
|
|
title.key = 'title' if title && (title.key.blank? rescue true)
|
|
|
|
i18n_variable.key = 'i18n_variable' if i18n_variable && (i18n_variable.key.blank? rescue true)
|
|
|
|
end
|
|
|
|
|
2011-05-18 02:00:00 +00:00
|
|
|
end
|