Module: PagesCore::PageModel::Tree::ClassMethods

Defined in:
app/models/concerns/pages_core/page_model/tree.rb

Instance Method Summary collapse

Instance Method Details

#admin_list(locale) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/models/concerns/pages_core/page_model/tree.rb', line 26

def admin_list(locale)
  left_outer_joins(:parent)
    .where("pages.status < 4")
    .order(
      Arel.sql(
        <<-QUERY
        pages.parent_page_id,
        parents_pages.news_page,
        case when parents_pages.news_page
          then pages.pinned end desc,
        case when parents_pages.news_page
          then pages.published_at end desc,
        position asc
        QUERY
      )
    ).in_locale(locale)
end

#rootObject

Returns the first root page



50
51
52
# File 'app/models/concerns/pages_core/page_model/tree.rb', line 50

def root
  roots.first
end

#rootsObject

Returns all root pages



45
46
47
# File 'app/models/concerns/pages_core/page_model/tree.rb', line 45

def roots
  where(parent_page_id: nil).order("position ASC")
end