Class: Decidim::Verifications::MembersPicker::MembersPickerAuthorizationHandler::MembersPickerActionAuthorizer

Inherits:
DefaultActionAuthorizer
  • Object
show all
Defined in:
app/services/decidim/verifications/members_picker/members_picker_authorization_handler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#allowed_members_pickerObject (readonly)

Returns the value of attribute allowed_members_picker.



28
29
30
# File 'app/services/decidim/verifications/members_picker/members_picker_authorization_handler.rb', line 28

def allowed_members_picker
  @allowed_members_picker
end

Instance Method Details

#authorizeObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/services/decidim/verifications/members_picker/members_picker_authorization_handler.rb', line 30

def authorize
  @allowed_members_picker ||= options.delete("members_picker")

  status_code, data = *super
  if allowed_members_picker.present?
    if status_code == :ok && !allowed_members_picker.include?(authorization.["members_picker"])
      status_code = :unauthorized
      data[:fields] = { "members_picker" => authorization.["members_picker"] }
    end

    data[:extra_explanation] = { key: "extra_explanation",
                                 params: { scope: "decidim.verifications.members_picker_authorization" } }
  end

  [status_code, data]
end