51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
class PagePart
|
|
|
|
include Mongoid::Document
|
|
include Mongoid::Timestamps
|
|
|
|
field :name
|
|
field :content, localize: true
|
|
field :kind
|
|
field :public_r_tag
|
|
field :public_r_tag_object_id, :default => nil
|
|
field :public_r_tag_option, :default => nil
|
|
field :page_title, localize: true
|
|
field :widget_path
|
|
field :category,type: Array, :default => []
|
|
field :tag, type: Array,:default => []
|
|
|
|
field :widget_style
|
|
field :widget_field , :type => Array
|
|
field :widget_options ,:type=>Hash
|
|
field :widget_data_count
|
|
|
|
belongs_to :page
|
|
belongs_to :module_app
|
|
|
|
before_save :delete_empty_widget_field
|
|
after_save :update_parent
|
|
|
|
# def module_app
|
|
# if self[:module_app]
|
|
# self[:module_app]
|
|
# elsif self[:kind] == 'module_widget'
|
|
# self.page.module_app
|
|
# else
|
|
# nil
|
|
# end
|
|
# end
|
|
|
|
protected
|
|
|
|
def delete_empty_widget_field
|
|
if self.widget_field
|
|
self.widget_field.reject! { |wf| (wf[0].blank? || wf[1].blank?) }
|
|
end
|
|
# self.widget_field.delete("") if self.widget_field
|
|
end
|
|
|
|
def update_parent
|
|
self.page.save
|
|
end
|
|
|
|
end |