Sha256: 7bcf5c95b5e385fceaf2208f6cf19c5959c600404011300b470bb4c2fbd60140
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
class PagesController < CmsController before_filter :find_page, only: :show private def find_page root = ActiveadminSelleoCms::Page.root raise "Create at least one page" unless root page_id = nil 5.downto(1).each do |l| if params["slug#{l}"] and page = ActiveadminSelleoCms::Page.where(parent_id: page_id).find_by_slug(params["slug#{l}"]) page_id = page.id end end @page = ActiveadminSelleoCms::Page.find_by_id(page_id) if !@page or (!@page.is_published? and @page != root) redirect_to page_path(I18n.locale, root) elsif @page.redirect_to_first_sub_page redirect_to page_path(I18n.locale, @page.children.first || root) end end public def show @page.update_column(:views, (@page.views || 0) + 1) render action: :show, layout: @page.layout_name end def index respond_to do |format| format.html { redirect_to page_path(I18n.locale, ActiveadminSelleoCms::Page.root) } format.json { render text: ActiveadminSelleoCms::Page.published.reorder("lft ASC").map{|p| [p.to_label, p.url(locale: false)]}.to_json } end end end
Version data entries
3 entries across 3 versions & 1 rubygems