Class: Admin::PagesController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/pages_cms/admin/pages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/pages_cms/admin/pages_controller.rb', line 12

def create
  @page = .pages.build(page_params)
  if @page.save
    Rails.application.reload_routes!
    flash[:success] = 'Page created'
    redirect_to edit_admin_page_path(@page.id)
  else
    flash[:danger] = "Page create failed: #{@page.errors.full_messages.to_sentence}."
    redirect_to admin_pages_path
  end
end

#destroyObject



55
56
57
58
59
# File 'app/controllers/pages_cms/admin/pages_controller.rb', line 55

def destroy
  Page.find(params[:id]).destroy
  flash[:success] = 'Page deleted'
  redirect_to admin_pages_path
end

#editObject



24
25
26
27
28
29
30
31
# File 'app/controllers/pages_cms/admin/pages_controller.rb', line 24

def edit
  @page = Page.find(params[:id])
  if @page.sidebar.nil?
    @sidebar = @page.build_sidebar
  else
    @sidebar = @page.sidebar
  end
end

#indexObject



8
9
10
# File 'app/controllers/pages_cms/admin/pages_controller.rb', line 8

def index
  @pages = .pages.where(parent_id: nil).includes(:children).order(:order)
end

#orderObject



44
45
46
47
48
49
50
51
52
53
# File 'app/controllers/pages_cms/admin/pages_controller.rb', line 44

def order
  order_list = params[:order][:data]
  logger.debug(order_list)
  order_list.each do |position|
    Page.find(position).update(order: order_list.index(position) )
  end
  respond_to do |format|
    format.json { head :ok }
  end
end

#updateObject



33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/pages_cms/admin/pages_controller.rb', line 33

def update
  @page = Page.find(params[:id])
  if @page.update(page_params)
    flash[:success] = 'Page updated'
    redirect_to edit_admin_page_path(@page)
  else
    flash[:danger] = "Page update failed: #{@page.errors.full_messages.to_sentence}."
    redirect_to edit_admin_page_path(@page)
  end
end