Class: Workarea::Admin::NavigationMenusController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/workarea/admin/navigation_menus_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#current_user, #find_sort, #wrap_in_view_model, wrap_in_view_model

Methods included from Publishing

#allow_publishing!, #allow_publishing?, #set_publishing_options

Methods included from Visiting

#most_visited

Instance Method Details

#createObject



31
32
33
34
35
36
37
38
39
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 31

def create
  if @menu.save
    flash[:success] = t('workarea.admin.navigation_menus.flash_messages.created')
    redirect_to navigation_menus_path(menu_id: @menu)
  else
    flash[:error] = t('workarea.admin.navigation_menus.flash_messages.created_error')
    render :new
  end
end

#destroyObject



71
72
73
74
75
76
77
78
79
80
81
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 71

def destroy
  if current_release.present?
    @menu.active = false
    @menu.save
  else
    @menu.destroy
  end

  flash[:success] = t('workarea.admin.navigation_menus.flash_messages.removed')
  redirect_to navigation_menus_path
end

#editObject



41
42
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 41

def edit
end

#indexObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 11

def index
  @menus = Navigation::Menu.all.sort_by(&:position)

  @menu = if params[:menu_id].present?
            Navigation::Menu.find(params[:menu_id])
          else
            @menus.first
          end

  if @menu.present?
    @content = ContentViewModel.wrap(Content.for(@menu), params)
  end

  @menus_sorted = SortNavigationMenusByOrders.new.sorted_menus
end

#moveObject



60
61
62
63
64
65
66
67
68
69
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 60

def move
  position_data = params.fetch(:positions, {})

  position_data.each do |menu_id, position|
    Navigation::Menu.find(menu_id).update_attributes!(position: position)
  end

  flash[:success] = t('workarea.admin.navigation_menus.flash_messages.moved')
  head :ok
end

#showObject



27
28
29
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 27

def show
  redirect_to edit_navigation_menu_path(@menu)
end

#sortObject



54
55
56
57
58
# File 'app/controllers/workarea/admin/navigation_menus_controller.rb', line 54

def sort
  SortNavigationMenusByOrders.perform
  flash[:success] = t('workarea.admin.navigation_menus.flash_messages.sorted')
  redirect_to navigation_menus_path
end

#updateObject



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

def update
  if @menu.update_attributes(params[:menu])
    flash[:success] = t('workarea.admin.navigation_menus.flash_messages.updated')
    redirect_to navigation_menus_path(menu_id: @menu)
  else
    flash[:error] = t('workarea.admin.navigation_menus.flash_messages.updated_error')
    render :edit
  end
end