Sha256: e5836663f9c2b3ec0998eaebf2ecc7485c847ebb42c780970aca5074ff4d31ca

Contents?: true

Size: 1.25 KB

Versions: 25

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module Admin
  # PermissionsController
  class PermissionsController < AdminController
    before_action :set_role

    def add; end

    def create
      @module = params[:role][:module]
      @action = params[:role][:action]
      @actions = params[:role][:actions]

      if @role.permissions?
        @role.toggle_actions(@module, @action)
      else
        @role.first_permission(@module, @action)
      end
    end

    def show
      @module = params[:module]
      @action = params[:action_name]
    end

    def toggle_permissions
      @module = params[:role][:module]
      all_actions = params[:role][:actions]
      if @role.permissions?
        add_actions_or_module(@module, all_actions)
      else
        @actions = all_actions
        @role.first_permission(@module, @actions)
      end
    end

    private

    def add_actions_or_module(module_name, actions)
      if @role.permission_to(module_name)
        @actions = (actions - @role.all_permissions[module_name]['actions'])
        @role.toggle_all_actions(module_name, actions)
      else
        @role.add_module(module_name, actions)
      end

      @actions = actions if @actions.blank?
    end

    def set_role
      @role = Role.find(params[:role_id])
    end
  end
end

Version data entries

25 entries across 24 versions & 1 rubygems

Version Path
keppler-2.1.22 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.21 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.20 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.19 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.18 testing-with-2.1.18/app/controllers/admin/permissions_controller.rb
keppler-2.1.18 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.17 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.16 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.15 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.14 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.13 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.12 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.11 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.10 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.9 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.8 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.7 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.6 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.5 installer/core/app/controllers/admin/permissions_controller.rb
keppler-2.1.4 installer/core/app/controllers/admin/permissions_controller.rb