app/controllers/alchemy/admin/pages_controller.rb in alchemy_cms-2.5.3.1 vs app/controllers/alchemy/admin/pages_controller.rb in alchemy_cms-2.6.0.rc5
- old
+ new
@@ -43,18 +43,19 @@
def new
@page = Page.new(:layoutpage => params[:layoutpage] == 'true', :parent_id => params[:parent_id])
@page_layouts = PageLayout.layouts_for_select(session[:language_id], @page.layoutpage?)
@clipboard_items = Page.all_from_clipboard_for_select(get_clipboard[:pages], session[:language_id], @page.layoutpage?)
- render :layout => false
+ render layout: !request.xhr?
end
def create
parent = Page.find_by_id(params[:page][:parent_id]) || Page.root
params[:page][:language_id] ||= parent.language ? parent.language.id : Language.get_default.id
params[:page][:language_code] ||= parent.language ? parent.language.code : Language.get_default.code
- if !params[:paste_from_clipboard].blank?
+ # Copy the page
+ if params[:paste_from_clipboard].present?
source_page = Page.find(params[:paste_from_clipboard])
@page = Page.copy(source_page, {
:parent_id => params[:page][:parent_id],
:language => parent.language,
:name => params[:page][:name],
@@ -62,26 +63,27 @@
})
if source_page.children.any?
source_page.copy_children_to(@page)
end
else
- @page = Page.create(params[:page])
+ # Create new page
+ @page = Page.new(params[:page])
end
- redirect_path =
- if @page.valid?
- params[:redirect_to] || edit_admin_page_path(@page)
- else
- admin_pages_path
- end
+ if @page.save
+ redirect_path = params[:redirect_to] || edit_admin_page_path(@page)
+ else
+ # TODO: Make a rollback, because the page is already persisted here.
+ redirect_path = admin_pages_path
+ end
render_errors_or_redirect(@page, redirect_path, _t("Page created", :name => @page.name))
end
# Edit the content of the page and all its elements and contents.
def edit
# fetching page via before filter
if @page.locked? && @page.locker && @page.locker.logged_in? && @page.locker != current_user
- flash[:notice] = _t("This page is locked by %{name}", :name => (@page.locker.name rescue _t('unknown')))
+ flash[:notice] = _t("This page is locked by %{name}", :name => (@page.locker.name rescue _t(:unknown)))
redirect_to admin_pages_path
else
@page.lock(current_user)
@locked_pages = Page.from_current_site.all_locked_by(current_user)
end
@@ -90,14 +92,14 @@
# Set page configuration like page names, meta tags and states.
def configure
# fetching page via before filter
if @page.redirects_to_external?
- render :action => 'configure_external', :layout => false
+ render action: 'configure_external', layout: !request.xhr?
else
@page_layouts = PageLayout.layouts_with_own_for_select(@page.page_layout, session[:language_id], @page.layoutpage?)
- render :layout => false
+ render layout: !request.xhr?
end
end
def update
# fetching page via before filter
@@ -142,11 +144,11 @@
@url_prefix = current_server
end
if multi_language?
@url_prefix = "#{session[:language_code]}/"
end
- render :layout => false
+ render layout: !request.xhr?
end
def fold
# @page is fetched via before filter
@page.fold(current_user.id, !@page.folded?(current_user.id))
@@ -158,11 +160,11 @@
# Leaves the page editing mode and unlocks the page for other users
def unlock
# fetching page via before filter
@page.unlock
- flash[:notice] = _t("unlocked_page", :name => @page.name)
+ flash[:notice] = _t(:unlocked_page, :name => @page.name)
@pages_locked_by_user = Page.from_current_site.all_locked_by(current_user)
respond_to do |format|
format.js
format.html {
redirect_to params[:redirect_to].blank? ? admin_pages_path : params[:redirect_to]
@@ -177,11 +179,11 @@
# Sets the page public and sweeps the page cache
def publish
# fetching page via before filter
@page.publish!
- flash[:notice] = _t("page_published", :name => @page.name)
+ flash[:notice] = _t(:page_published, :name => @page.name)
redirect_back_or_to_default(admin_pages_path)
end
def copy_language_tree
# copy language root from old to new language
@@ -195,10 +197,10 @@
:language_id => params[:languages][:new_lang_id],
:language_code => session[:language_code]
)
new_language_root.move_to_child_of Page.root
original_language_root.copy_children_to(new_language_root)
- flash[:notice] = _t('language_pages_copied')
+ flash[:notice] = _t(:language_pages_copied)
redirect_to params[:layoutpage] == "true" ? admin_layoutpages_path : :action => :index
end
def sort
@page_root = Page.language_root_for(session[:language_id])