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