Class: Admin::PagesController

Inherits:
AdminController show all
Includes:
PagesCore::Admin::NewsPageController, PagesCore::Admin::PageJsonHelper
Defined in:
app/controllers/admin/pages_controller.rb

Instance Attribute Summary

Attributes included from PagesCore::Authentication

#current_user

Instance Method Summary collapse

Methods included from PagesCore::Admin::NewsPageController

#new_news, #news

Methods included from PagesCore::Admin::PageJsonHelper

#page_json, #page_permissions

Methods inherited from PagesCore::AdminController

#redirect, underscore

Methods included from PagesCore::StaticCacheController

#disable_static_cache!

Methods included from PagesCore::PoliciesHelper

#policy, #verify_policy, #verify_policy_with_proc

Methods included from PagesCore::ProcessTitler

inc_number_of_requests, original_title

Methods included from PagesCore::ErrorRenderer

#render_error

Methods included from PagesCore::Authentication

#authenticate!, #deauthenticate!, #logged_in?

Instance Method Details

#createObject



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

def create
  @page = build_page(@locale, page_params, param_categories)
  if @page.valid?
    @page.save
    respond_with_page(@page) do
      redirect_to(edit_admin_page_url(@locale, @page))
    end
  else
    render action: :new
  end
end

#deletedObject



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

def deleted
  @pages = Page.deleted.by_updated_at.in_locale(@locale)
end

#destroyObject



69
70
71
72
# File 'app/controllers/admin/pages_controller.rb', line 69

def destroy
  Page.find(params[:id]).flag_as_deleted!
  redirect_to admin_pages_url(@locale)
end

#editObject



49
# File 'app/controllers/admin/pages_controller.rb', line 49

def edit; end

#indexObject



15
16
17
# File 'app/controllers/admin/pages_controller.rb', line 15

def index
  @pages = Page.admin_list(@locale)
end

#moveObject



63
64
65
66
67
# File 'app/controllers/admin/pages_controller.rb', line 63

def move
  parent = params[:parent_id] ? Page.find(params[:parent_id]) : nil
  @page.update(parent: parent, position: params[:position])
  respond_with_page(@page) { redirect_to admin_pages_url(@locale) }
end

#newObject



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

def new
  build_params = params[:page] ? page_params : nil
  @page = build_page(@locale, build_params)
  @page.parent = if params[:parent]
                   Page.find(params[:parent])
                 elsif @news_pages
                   @news_pages.first
                 end
end

#showObject



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

def show
  redirect_to edit_admin_page_url(@locale, @page)
end

#updateObject



51
52
53
54
55
56
57
58
59
60
61
# File 'app/controllers/admin/pages_controller.rb', line 51

def update
  if @page.update(page_params)
    @page.categories = param_categories
    respond_with_page(@page) do
      flash[:notice] = t("pages_core.changes_saved")
      redirect_to edit_admin_page_url(@locale, @page)
    end
  else
    render action: :edit
  end
end