36 lines
892 B
Ruby
36 lines
892 B
Ruby
class PagePart
|
|
include Mongoid::Document
|
|
# include Mongoid::Timestamps
|
|
|
|
## fields ##
|
|
field :name, :type => String
|
|
field :slug, :type => String
|
|
field :value, :type => String
|
|
field :disabled, :type => Boolean, :default => false
|
|
field :value, :type => String
|
|
|
|
## associations ##
|
|
embedded_in :page, :inverse_of => :parts
|
|
|
|
# attr_accessor :_delete
|
|
|
|
## callbacks ##
|
|
# before_validate { |p| p.slug ||= p.name.slugify if p.name.present? }
|
|
|
|
## validations ##
|
|
validates_presence_of :name, :slug
|
|
|
|
## named scopes ##
|
|
named_scope :enabled, where(:disabled => false)
|
|
|
|
## methods ##
|
|
|
|
# def _delete=(value)
|
|
# puts "set _delete #{value.inspect}"
|
|
# self.attributes[:_destroy] = true if %w(t 1 true).include?(value)
|
|
# end
|
|
|
|
def self.build_body_part
|
|
self.new(:name => I18n.t('admin.shared.attributes.body'), :slug => 'layout')
|
|
end
|
|
end |