forked from saurabh/orbit4-5
32 lines
761 B
Ruby
32 lines
761 B
Ruby
class Page
|
|
include Mongoid::Document
|
|
include Mongoid::Timestamps
|
|
|
|
field :name, localize: true
|
|
field :number, type: Integer
|
|
field :module
|
|
field :url
|
|
field :page_id
|
|
field :is_published, type: Boolean, default: true
|
|
|
|
has_many :page_parts, :autosave => true, :dependent => :destroy
|
|
|
|
has_many :child_page, :class_name => 'Page', :inverse_of => :parent_page, :dependent => :destroy
|
|
belongs_to :parent_page, :class_name => 'Page', :inverse_of => :child_page
|
|
|
|
def to_param
|
|
page_id.parameterize
|
|
end
|
|
|
|
def self.find_by_param(input)
|
|
self.find_by(page_id: input) rescue nil
|
|
end
|
|
|
|
def self.root
|
|
self.where(:parent_page_id.ne => "" , :parent_page_id.exists => false).first
|
|
end
|
|
|
|
def root?
|
|
self.parent_page_id.nil?
|
|
end
|
|
end |