Class: Decidim::DefaultPermissions
- Inherits:
-
Object
- Object
- Decidim::DefaultPermissions
- Includes:
- UserRoleChecker
- Defined in:
- decidim-core/app/permissions/decidim/default_permissions.rb
Overview
Default permissions class for all components and spaces. It deauthorizes all actions by any kind of user. Also works as a default implementation so other components can inherit from it and get some convenience methods. Delegates the admin permission check on :subject and :action to the permissions of each module.
Direct Known Subclasses
Accountability::Admin::Permissions, Accountability::Permissions, Admin::Permissions, Admin::UserManagerPermissions, Assemblies::Permissions, Blog::Permissions, Budgets::Admin::Permissions, Budgets::Permissions, CollaborativeTexts::Admin::Permissions, CollaborativeTexts::Permissions, Comments::Permissions, Conferences::Permissions, Decidim::Debates::Admin::Permissions, Decidim::Debates::Permissions, Decidim::Demographics::Admin::Permissions, Decidim::Demographics::Permissions, Decidim::Dev::Permissions, Elections::Admin::Permissions, Elections::Permissions, Initiatives::Admin::Permissions, Initiatives::Permissions, Meetings::Admin::AgendaPermissions, Meetings::Admin::MeetingPermissions, Meetings::Admin::Permissions, Meetings::Admin::QuestionnairePermissions, Meetings::MeetingPermissions, Meetings::Permissions, Pages::Permissions, ParticipatoryProcesses::Permissions, Permissions, Proposals::Admin::Permissions, Proposals::Permissions, ReportUserPermissions, Sortitions::Admin::Permissions, Sortitions::Permissions, Surveys::Admin::Permissions, Surveys::Permissions, Templates::Admin::Permissions, UserManagerPermissions
Instance Method Summary collapse
-
#initialize(user, permission_action, context = {}) ⇒ DefaultPermissions
constructor
A new instance of DefaultPermissions.
- #permissions ⇒ Object
Constructor Details
#initialize(user, permission_action, context = {}) ⇒ DefaultPermissions
Returns a new instance of DefaultPermissions.
11 12 13 14 15 |
# File 'decidim-core/app/permissions/decidim/default_permissions.rb', line 11 def initialize(user, , context = {}) @user = user = @context = context end |
Instance Method Details
#permissions ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'decidim-core/app/permissions/decidim/default_permissions.rb', line 17 def return if .scope != target_scope return unless subject == target_subject = "can_#{action}?" toggle_allow(send()) if respond_to?(, true) end |