Class: Decidim::DecidimAwesome::Authorizer
- Inherits:
-
Object
- Object
- Decidim::DecidimAwesome::Authorizer
- Defined in:
- lib/decidim/decidim_awesome/authorizer.rb
Instance Attribute Summary collapse
-
#admin_authorizations ⇒ Object
readonly
Returns the value of attribute admin_authorizations.
-
#organization ⇒ Object
readonly
Returns the value of attribute organization.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
- #authorizations ⇒ Object
-
#initialize(user, admin_authorizations) ⇒ Authorizer
constructor
A new instance of Authorizer.
Constructor Details
#initialize(user, admin_authorizations) ⇒ Authorizer
Returns a new instance of Authorizer.
6 7 8 9 10 11 |
# File 'lib/decidim/decidim_awesome/authorizer.rb', line 6 def initialize(user, ) @user = user @admin_authorizations = @admin_authorizations = [] if @admin_authorizations.blank? || !.is_a?(Array) @organization = user.organization end |
Instance Attribute Details
#admin_authorizations ⇒ Object (readonly)
Returns the value of attribute admin_authorizations.
12 13 14 |
# File 'lib/decidim/decidim_awesome/authorizer.rb', line 12 def @admin_authorizations end |
#organization ⇒ Object (readonly)
Returns the value of attribute organization.
12 13 14 |
# File 'lib/decidim/decidim_awesome/authorizer.rb', line 12 def organization @organization end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
12 13 14 |
# File 'lib/decidim/decidim_awesome/authorizer.rb', line 12 def user @user end |
Instance Method Details
#authorizations ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/decidim/decidim_awesome/authorizer.rb', line 14 def return @authorizations if defined?(@authorizations) @authorizations = organization..filter_map do |name| workflow = Decidim::Verifications.find_workflow_manifest(name) next unless workflow = Decidim::Authorization.find_by(user:, name:) { name:, fullname: workflow.fullname, granted: &.granted?, pending: .present? && !.granted?, managed: .include?(name.to_s) } end @authorizations = @authorizations.sort_by { |i| i[:managed] ? 0 : 1 } end |