Sha256: 3dff8243aa52ee162758b1aa21645cc72b1244d647847a402ef49968f8503734

Contents?: true

Size: 1.12 KB

Versions: 5

Compression:

Stored size: 1.12 KB

Contents

class Admin::PagesController < Admin::BaseController

  crudify :page, :conditions => "parent_id IS NULL", :order => "position ASC", :include => [:parts, :slugs, :children], :paging => false
  before_filter :find_pages_for_parents_list, :only => [:new, :create, :edit, :update]
  after_filter :expire_menu_fragment_caching, :only => [:create, :update, :destroy]

  def new
    @page = Page.new
    RefinerySetting.find_or_set(:default_page_parts, ["Body", "Side Body"]).each do |page_part|
      @page.parts << PagePart.new(:title => page_part)
    end
  end

protected
  def expire_menu_fragment_caching
    expire_fragment(%r{site_menu})
  end

  # This finds all of the pages that could possibly be assigned as the current page's parent.
  def find_pages_for_parents_list
    @pages_for_parents_list = Page.find(:all, :order => "parent_id, position ASC")

    # We need to remove all references to the current page or any of its decendants or we get a nightmare.
    unless @page.nil? or @page.new_record?
      @pages_for_parents_list.reject! do |page|
        page.id == @page.id or @page.descendants.include?(page)
      end
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
refinerycms-0.9.6.19 vendor/plugins/pages/app/controllers/admin/pages_controller.rb
refinerycms-0.9.6.18 vendor/plugins/pages/app/controllers/admin/pages_controller.rb
refinerycms-0.9.6.17 vendor/plugins/pages/app/controllers/admin/pages_controller.rb
refinerycms-0.9.6.16 vendor/plugins/pages/app/controllers/admin/pages_controller.rb
refinerycms-0.9.6.15 vendor/plugins/pages/app/controllers/admin/pages_controller.rb