Sha256: 0d54137ab0e35a9506b30fb79c0ff15c35de47e904fab731ba107563c8e7c597

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

module Admin
  class PagesController < Admin::BaseController

    crudify :page,
            :conditions => {:parent_id => nil},
            :order => "lft ASC",
            :include => [:parts, :slugs, :children, :parent, :translations],
            :paging => false

    rescue_from FriendlyId::ReservedError, :with => :show_errors_for_reserved_slug

    def new
      @page = Page.new
      Page.default_parts.each_with_index do |page_part, index|
        @page.parts << PagePart.new(:title => page_part, :position => index)
      end
    end

  protected

    def globalize!
      super

      # Check whether we need to override e.g. on the pages form.
      unless params[:switch_locale] or @page.try(:slug).nil? or !@page.persisted?
        Thread.current[:globalize_locale] = @page.slug.locale
      end
    end

    def show_errors_for_reserved_slug(exception)
      flash[:error] = t('reserved_system_word', :scope => 'admin.pages')
      if params[:action] == 'update'
        find_page
        render :edit
      else
        @page = Page.new(params[:page])
        render :new
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
refinerycms-pages-0.9.9.8 app/controllers/admin/pages_controller.rb
refinerycms-pages-0.9.9.7 app/controllers/admin/pages_controller.rb
refinerycms-pages-0.9.9.5 app/controllers/admin/pages_controller.rb