Class: CmsAdmin::PagesController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/cms_admin/pages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



27
28
29
30
31
32
33
34
35
# File 'app/controllers/cms_admin/pages_controller.rb', line 27

def create
  @page.save!
  flash[:success] = I18n.t('cms.pages.created')
  redirect_to :action => :edit, :id => @page
rescue ActiveRecord::RecordInvalid
  logger.detailed_error($!)
  flash.now[:error] = I18n.t('cms.pages.creation_failure')
  render :action => :new
end

#destroyObject



47
48
49
50
51
# File 'app/controllers/cms_admin/pages_controller.rb', line 47

def destroy
  @page.destroy
  flash[:success] = I18n.t('cms.pages.deleted')
  redirect_to :action => :index
end

#editObject



23
24
25
# File 'app/controllers/cms_admin/pages_controller.rb', line 23

def edit
  render
end

#form_blocksObject



53
54
55
56
# File 'app/controllers/cms_admin/pages_controller.rb', line 53

def form_blocks
  @page = @site.pages.find_by_id(params[:id]) || @site.pages.new
  @page.layout = @site.layouts.find_by_id(params[:layout_id])
end

#indexObject



9
10
11
12
13
14
15
16
17
# File 'app/controllers/cms_admin/pages_controller.rb', line 9

def index
  return redirect_to :action => :new if @site.pages.count == 0
  @pages_by_parent = @site.pages.includes(:categories).all.group_by(&:parent_id)
  if params[:category].present?
    @pages = @site.pages.includes(:categories).for_category(params[:category]).all(:order => 'label')
  else
    @pages = [@site.pages.root].compact
  end
end

#newObject



19
20
21
# File 'app/controllers/cms_admin/pages_controller.rb', line 19

def new
  render
end

#reorderObject



68
69
70
71
72
73
# File 'app/controllers/cms_admin/pages_controller.rb', line 68

def reorder
  (params[:cms_page] || []).each_with_index do |id, index|
    Cms::Page.where(:id => id).update_all(:position => index)
  end
  render :nothing => true
end

#toggle_branchObject



58
59
60
61
62
63
64
65
66
# File 'app/controllers/cms_admin/pages_controller.rb', line 58

def toggle_branch
  @pages_by_parent = @site.pages.includes(:categories).all.group_by(&:parent_id)
  @page = @site.pages.find(params[:id])
  s   = (session[:cms_page_tree] ||= [])
  id  = @page.id.to_s
  s.member?(id) ? s.delete(id) : s << id
rescue ActiveRecord::RecordNotFound
  # do nothing
end

#updateObject



37
38
39
40
41
42
43
44
45
# File 'app/controllers/cms_admin/pages_controller.rb', line 37

def update
  @page.save!
  flash[:success] = I18n.t('cms.pages.updated')
  redirect_to :action => :edit, :id => @page
rescue ActiveRecord::RecordInvalid
  logger.detailed_error($!)
  flash.now[:error] = I18n.t('cms.pages.update_failure')
  render :action => :edit
end