Class: Decidim::Verifications::AuthorizationsController
Overview
This controller allows users to create and destroy their authorizations. It should not be necessary to expand it to add new authorization schemes.
Instance Method Summary
collapse
#available_verification_workflows
Methods included from UserGroups
#enforce_user_groups_enabled
#renew
register_permissions
#store_share_token
#check_user_block_status, #check_user_not_blocked
#snippets
#disable_http_caching
#skip_store_location?
#default_locale?
enhance_controller, extended, included
Instance Method Details
#clear_onboarding_data ⇒ Object
90
91
92
|
# File 'decidim-verifications/app/controllers/decidim/verifications/authorizations_controller.rb', line 90
def clear_onboarding_data
clear_onboarding_data!(current_user)
end
|
#create ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'decidim-verifications/app/controllers/decidim/verifications/authorizations_controller.rb', line 55
def create
AuthorizeUser.call(handler, current_organization) do
on(:ok) do
flash[:notice] = t("authorizations.create.success", scope: "decidim.verifications")
redirect_to redirect_url || authorizations_path
end
on(:transferred) do |transfer|
message = t("authorizations.create.success", scope: "decidim.verifications")
if transfer.records.any?
flash[:html_safe] = true
message = <<~HTML
<p>#{CGI.escapeHTML(message)}</p>
<p>#{CGI.escapeHTML(t("authorizations.create.transferred", scope: "decidim.verifications"))}</p>
#{transfer.presenter.records_list_html}
HTML
end
flash[:notice] = message
redirect_to redirect_url || authorizations_path
end
on(:invalid) do
flash[:alert] = t("authorizations.create.error", scope: "decidim.verifications")
render action: :new
end
end
end
|
#index ⇒ Object
25
|
# File 'decidim-verifications/app/controllers/decidim/verifications/authorizations_controller.rb', line 25
def index; end
|
#new ⇒ Object
23
|
# File 'decidim-verifications/app/controllers/decidim/verifications/authorizations_controller.rb', line 23
def new; end
|
#onboarding_pending ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'decidim-verifications/app/controllers/decidim/verifications/authorizations_controller.rb', line 27
def onboarding_pending
return redirect_back(fallback_location: authorizations_path) unless onboarding_manager.valid?
authorizations = action_authorized_to(onboarding_manager.action, **onboarding_manager.action_authorized_resources)
authorization_status = authorizations.global_code
if authorizations.single_authorization_required?
flash.keep
return redirect_to(authorizations.statuses.first.current_path(redirect_url: decidim_verifications.onboarding_pending_authorizations_path))
end
return unless onboarding_manager.finished_verifications?(active_authorization_methods) || authorization_status == :unauthorized
if authorization_status == :unauthorized
flash[:alert] = t("authorizations.onboarding_pending.unauthorized", scope: "decidim.verifications", action: onboarding_manager.action_text.downcase)
else
flash[:notice] = t(
"authorizations.onboarding_pending.completed_verifications",
scope: "decidim.verifications",
action: onboarding_manager.action_text.downcase,
resource_name: onboarding_manager.model_name.human.downcase
)
end
redirect_to onboarding_manager.finished_redirect_path
clear_onboarding_data!(current_user)
end
|
#renew_onboarding_data ⇒ Object
84
85
86
87
88
|
# File 'decidim-verifications/app/controllers/decidim/verifications/authorizations_controller.rb', line 84
def renew_onboarding_data
store_onboarding_cookie_data!(current_user)
redirect_to onboarding_pending_authorizations_path
end
|