app/controllers/spud/admin/pages_controller.rb in spud_cms-0.8.15 vs app/controllers/spud/admin/pages_controller.rb in spud_cms-0.8.17

- old
+ new

@@ -3,29 +3,18 @@ add_breadcrumb "Pages", :spud_admin_pages_path belongs_to_spud_app :pages before_filter :load_page,:only => [:edit,:update,:show,:destroy] cache_sweeper :page_sweeper,:only => [:update,:destroy] def index - + @pages = SpudPage.site(session[:admin_site]).where(:spud_page_id => nil).order(:page_order).includes(:spud_pages).paginate :page => params[:page] respond_with @pages end def show - - - if @page.blank? - flash[:error] = "Page not found" - if !params[:id].blank? - redirect_to spud_admin_pages_url() and return - else - return - end - end - layout = 'application' + layout = Spud::Cms.default_page_layout - if !@page.spud_template.blank? if !@page.spud_template.base_layout.blank? layout = @page.spud_template.base_layout end @inline = @page.spud_template.content @@ -34,11 +23,11 @@ end def new add_breadcrumb "New", :new_spud_admin_page_path - + @templates = SpudTemplate.all @page = SpudPage.new parts = Spud::Cms.default_page_parts if Spud::Core.multisite_mode_enabled && !session[:admin_site].blank? site_config = Spud::Core.multisite_config.select{|c| c[:site_id] == session[:admin_site]} @@ -48,15 +37,15 @@ end end parts.each do |part| @page.spud_page_partials.new(:name => part.strip) end - respond_with @page + respond_with @page end def create - + @page = SpudPage.new(params[:spud_page]) @page.site_id = session[:admin_site] if params[:preview] && params[:preview].to_i == 1 preview return @@ -66,11 +55,11 @@ end def edit add_breadcrumb "#{@page.name}", :spud_admin_page_path add_breadcrumb "Edit", :edit_spud_admin_page_path - + @templates = SpudTemplate.all if @page.spud_page_partials.blank? parts = Spud::Cms.default_page_parts if Spud::Core.multisite_mode_enabled && !session[:admin_site].blank? site_config = Spud::Core.multisite_config.select{|c| c[:site_id] == session[:admin_site]} @@ -92,11 +81,11 @@ end end end def update - + @page.attributes = params[:spud_page] if params[:preview] && params[:preview].to_i == 1 preview return end @@ -126,11 +115,11 @@ end def destroy status = 500 - + if @page.destroy flash[:notice] = "Page removed successfully!" status = 200 else flash[:error] = "Error removing page" @@ -138,11 +127,11 @@ respond_to do |format| format.js {render :status => status} format.html { redirect_to spud_admin_pages_url()} end end - + def page_parts template = params[:template] && !params[:template].blank? ? SpudTemplate.where(:id => params[:template]).first : nil page = SpudPage.where(:id => params[:page]).includes(:spud_page_partials).first page = SpudPage.new if page.blank? old_page_partials = Array.new(page.spud_page_partials) @@ -161,11 +150,11 @@ end end parts.each do |part| new_page_partials << page.spud_page_partials.build(:name => part) end - + end new_page_partials.each do |partial| old_partial = old_page_partials.select {|pp| partial.name.strip.downcase == pp.name.strip.downcase } partial.content = old_partial[0].content if !old_partial.blank? end @@ -193,24 +182,27 @@ elsif Spud::Cms.enable_action_caching if record.url_name == Spud::Cms.root_page_name expire_action root_path else expire_action page_path(:id => record.url_name) - end + end end end redirect_to spud_admin_pages_url end private def load_page - @page = SpudPage.site(session[:admin_site]).where(:id => params[:id]).includes(:spud_page_partials).first + @page = SpudPage.where(:id => params[:id]).includes(:spud_page_partials).first if @page.blank? flash[:error] = "Page not found!" redirect_to spud_admin_pages_url() and return false + elsif Spud::Core.multisite_mode_enabled && @page.site_id != session[:admin_site] + flash[:warning] = "Site Context Changed. The page you were viewing is not associated with the current site. Redirected back to page selections." + redirect_to spud_admin_pages_url() and return false end return true end - + end