Class: Spina::Admin::NavigationItemsController

Inherits:
AdminController
  • Object
show all
Defined in:
app/controllers/spina/admin/navigation_items_controller.rb

Instance Method Summary collapse

Methods inherited from AdminController

#current_admin_path

Instance Method Details

#createObject



11
12
13
14
15
16
17
18
19
# File 'app/controllers/spina/admin/navigation_items_controller.rb', line 11

def create
  @navigation_item = @navigation.navigation_items.new(navigation_item_params)
  if @navigation_item.save
    redirect_to spina.edit_admin_navigation_path(@navigation)
  else
    @pages = Page.sorted.main.includes(:translations)
    render turbo_stream: turbo_stream.update(:navigation_item_form, partial: "form")
  end
end

#destroyObject



37
38
39
40
41
# File 'app/controllers/spina/admin/navigation_items_controller.rb', line 37

def destroy
  @navigation_item = @navigation.navigation_items.find(params[:id])
  @navigation_item.destroy
  render turbo_stream: turbo_stream.remove(view_context.dom_id(@navigation_item, :container))
end

#editObject



21
22
23
24
# File 'app/controllers/spina/admin/navigation_items_controller.rb', line 21

def edit
  @navigation_item = NavigationItem.find(params[:id])
  @pages = Page.sorted.main.includes(:translations)
end

#newObject



6
7
8
9
# File 'app/controllers/spina/admin/navigation_items_controller.rb', line 6

def new
  @navigation_item = @navigation.navigation_items.new(parent_id: params[:parent_id], kind: params[:kind].presence || "page")
  @pages = Page.sorted.main.includes(:translations)
end

#updateObject



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

def update
  @navigation_item = NavigationItem.find(params[:id])

  if @navigation_item.update(navigation_item_params)
    redirect_to spina.edit_admin_navigation_path(@navigation)
  else
    @pages = Page.sorted.main.includes(:translations)
    render turbo_stream: turbo_stream.update(:navigation_item_form, partial: "form")
  end
end