class DummyAuthorizationHandler

An example authorization handler used so that users can be verified against third party systems.

You should probably rename this class and file to match your needs.

If you need a custom form to be rendered, you can create a file matching the class name named “_form”.

Example:

A handler named Decidim::CensusHandler would look for its partial in:
decidim/census/form

When testing your authorization handler, add this line to be sure it has a valid public api:

it_behaves_like "an authorization handler"

See Decidim::AuthorizationHandler for more documentation.

Public Instance Methods

metadata() click to toggle source

If you need to store any of the defined attributes in the authorization you can do it here.

You must return a Hash that will be serialized to the authorization when it's created, and available though authorization.metadata

Calls superclass method
# File lib/decidim/generators/app_templates/dummy_authorization_handler.rb, line 71
def metadata
  super.merge(document_number: document_number, postal_code: postal_code, scope_id: scope_id)
end
scope() click to toggle source

The user scope

# File lib/decidim/generators/app_templates/dummy_authorization_handler.rb, line 61
def scope
  user.organization.scopes.find_by(id: scope_id) if scope_id
end
unique_id() click to toggle source

If set, enforces the handler to validate the uniqueness of the field

# File lib/decidim/generators/app_templates/dummy_authorization_handler.rb, line 55
def unique_id
  document_number
end

Private Instance Methods

valid_document_number() click to toggle source
# File lib/decidim/generators/app_templates/dummy_authorization_handler.rb, line 77
def valid_document_number
  errors.add(:document_number, :invalid) unless document_number.to_s.end_with?("X")
end
valid_scope_id() click to toggle source
# File lib/decidim/generators/app_templates/dummy_authorization_handler.rb, line 81
def valid_scope_id
  errors.add(:scope_id, :invalid) if scope_id && !scope
end