Sha256: 3b43d4d52b472c11b071a93cd5ecfe40e2718cb86694a4e100f18453744a2173

Contents?: true

Size: 1.29 KB

Versions: 9

Compression:

Stored size: 1.29 KB

Contents

module Admin
  class MenusController < ApplicationController
    before_action(:authenticate_user!) # Devise

    helper EffectiveMenusAdminHelper

    layout (EffectivePages.layout.kind_of?(Hash) ? EffectivePages.layout[:admin] : EffectivePages.layout)

    def index
      @datatable = EffectiveMenusDatatable.new(self)
      @page_title = 'Menus'

      authorize_effective_menus!
    end

    def new
      @menu = Effective::Menu.new()
      @page_title = 'New Menu'

      authorize_effective_menus!
    end

    def create
      @menu = Effective::Menu.new(menu_params)
      @page_title = 'New Menu'

      authorize_effective_menus!

      if @menu.save
        flash[:success] = 'Successfully created menu'
        redirect_to effective_pages.admin_menu_path(@menu)
      else
        flash.now[:danger] = 'Unable to create menu'
        render :action => :new
      end
    end

    def show
      @menu = Effective::Menu.find(params[:id])
      @page_title = @menu.to_s

      authorize_effective_menus!
    end

    private

    def authorize_effective_menus!
      EffectivePages.authorized?(self, :admin, :effective_pages)
      EffectivePages.authorized?(self, action_name.to_sym, @menu || Effective::Menu)
    end

    def menu_params
      params.require(:effective_menu).permit(:title)
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
effective_pages-2.0.8 app/controllers/admin/menus_controller.rb
effective_pages-2.0.7 app/controllers/admin/menus_controller.rb
effective_pages-2.0.6 app/controllers/admin/menus_controller.rb
effective_pages-2.0.5 app/controllers/admin/menus_controller.rb
effective_pages-2.0.4 app/controllers/admin/menus_controller.rb
effective_pages-2.0.3 app/controllers/admin/menus_controller.rb
effective_pages-2.0.2 app/controllers/admin/menus_controller.rb
effective_pages-2.0.1 app/controllers/admin/menus_controller.rb
effective_pages-2.0.0 app/controllers/admin/menus_controller.rb