Class: Backend::PagesController

Inherits:
BaseController
  • Object
show all
Includes:
Concerns::Backend::TranslatableController
Defined in:
app/controllers/backend/pages_controller.rb

Instance Method Summary collapse

Methods included from Concerns::Backend::TranslatableController

#update_translation

Methods inherited from BaseController

#breadcrumb, #current_admin, #default_app_locale, #translate_notice

Methods included from Udongo::Cryptography

#crypt

Instance Method Details

#createObject



22
23
24
25
26
27
28
29
30
# File 'app/controllers/backend/pages_controller.rb', line 22

def create
  @model = Page.new(allowed_params).decorate

  if @model.save
    redirect_to edit_backend_page_path(@model), notice: translate_notice(:added, :page)
  else
    render :new
  end
end

#destroyObject



50
51
52
53
# File 'app/controllers/backend/pages_controller.rb', line 50

def destroy
  # TODO (Dave) - check if this page may be destroyed.
  render json: { trashed: @model.destroy }
end

#indexObject



7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/backend/pages_controller.rb', line 7

def index
  @pages = Page.all

  respond_to do |format|
    format.html
    format.json {
      render json: Udongo::Pages::Tree.new(self).data
    }
  end
end

#newObject



18
19
20
# File 'app/controllers/backend/pages_controller.rb', line 18

def new
  @model = Page.new.decorate
end

#toggle_visibilityObject



40
41
42
43
# File 'app/controllers/backend/pages_controller.rb', line 40

def toggle_visibility
  @model.visible? ? @model.hide! : @model.show!
  render json: { toggled: @model }
end

#tree_drag_and_dropObject



45
46
47
48
# File 'app/controllers/backend/pages_controller.rb', line 45

def tree_drag_and_drop
  # TODO (Dave) - check if this page is draggable.
  render json: { moved: @model.set_position(params[:position], params[:parent_id]) }
end

#updateObject



32
33
34
35
36
37
38
# File 'app/controllers/backend/pages_controller.rb', line 32

def update
  if @model.update_attributes allowed_params
    redirect_to edit_backend_page_path(@model), notice: translate_notice(:edited, :page)
  else
    render :edit
  end
end