Module: EasyAdmin::Permissions::Controller
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/easy_admin/permissions/controller.rb
Defined Under Namespace
Classes: BasicPermissionDeniedComponent, BasicRoleDeniedComponent
Instance Method Summary collapse
-
#can?(permission_name, context: nil) ⇒ Boolean
Check permission in views (helper method).
-
#check_permissions_for_action ⇒ Object
Before action to check permissions for CRUD operations.
-
#current_user_can?(permission_name, context: nil) ⇒ Boolean
Check if current user has permission.
-
#current_user_has_role?(role_name, context: nil) ⇒ Boolean
Check if current user has role.
-
#current_user_permissions(context: nil) ⇒ Object
Get current user’s permissions for view helpers.
-
#has_role?(role_name, context: nil) ⇒ Boolean
Check role in views (helper method).
-
#require_permission!(permission_name, context: nil) ⇒ Object
Require permission or show 403 error.
-
#require_role!(role_name, context: nil) ⇒ Object
Require role or show 403 error.
Instance Method Details
#can?(permission_name, context: nil) ⇒ Boolean
Check permission in views (helper method)
67 68 69 |
# File 'lib/easy_admin/permissions/controller.rb', line 67 def can?(, context: nil) current_user_can?(, context: context) end |
#check_permissions_for_action ⇒ Object
Before action to check permissions for CRUD operations
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/easy_admin/permissions/controller.rb', line 41 def action = action_name.to_s resource_name = controller_name = { 'index' => "#{resource_name}:read", 'show' => "#{resource_name}:read", 'new' => "#{resource_name}:create", 'create' => "#{resource_name}:create", 'edit' => "#{resource_name}:update", 'update' => "#{resource_name}:update", 'destroy' => "#{resource_name}:delete" } if = [action] () end end |
#current_user_can?(permission_name, context: nil) ⇒ Boolean
Check if current user has permission
17 18 19 |
# File 'lib/easy_admin/permissions/controller.rb', line 17 def current_user_can?(, context: nil) EasyAdmin::Permissions.(current_user, , context: context) end |
#current_user_has_role?(role_name, context: nil) ⇒ Boolean
Check if current user has role
22 23 24 |
# File 'lib/easy_admin/permissions/controller.rb', line 22 def current_user_has_role?(role_name, context: nil) EasyAdmin::Permissions.has_role?(current_user, role_name, context: context) end |
#current_user_permissions(context: nil) ⇒ Object
Get current user’s permissions for view helpers
61 62 63 64 |
# File 'lib/easy_admin/permissions/controller.rb', line 61 def (context: nil) return [] unless current_user EasyAdmin::Permissions.(current_user, context: context) end |
#has_role?(role_name, context: nil) ⇒ Boolean
Check role in views (helper method)
72 73 74 |
# File 'lib/easy_admin/permissions/controller.rb', line 72 def has_role?(role_name, context: nil) current_user_has_role?(role_name, context: context) end |
#require_permission!(permission_name, context: nil) ⇒ Object
Require permission or show 403 error
27 28 29 30 31 |
# File 'lib/easy_admin/permissions/controller.rb', line 27 def (, context: nil) unless current_user_can?(, context: context) () end end |
#require_role!(role_name, context: nil) ⇒ Object
Require role or show 403 error
34 35 36 37 38 |
# File 'lib/easy_admin/permissions/controller.rb', line 34 def require_role!(role_name, context: nil) unless current_user_has_role?(role_name, context: context) handle_role_denied(role_name) end end |