Class: Decidim::Verifications::IdDocuments::AuthorizationsController
- Inherits:
-
ApplicationController
- Object
- DecidimController
- ApplicationController
- ApplicationController
- Decidim::Verifications::IdDocuments::AuthorizationsController
- Includes:
- Renewable
- Defined in:
- decidim-verifications/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb
Overview
Handles verification by identity document upload
Instance Method Summary collapse
Methods inherited from ApplicationController
Methods included from RegistersPermissions
Methods inherited from ApplicationController
Methods included from UserBlockedChecker
#check_user_block_status, #check_user_not_blocked
Methods included from NeedsSnippets
Methods included from Headers::HttpCachingDisabler
Methods included from HasStoredPath
#skip_store_location?, #store_current_location
Methods included from TranslatableAttributes
#attachment?, #default_locale?
Methods included from NeedsOrganization
enhance_controller, extended, included
Instance Method Details
#choose ⇒ Object
16 17 18 19 20 21 22 |
# File 'decidim-verifications/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb', line 16 def choose url_params = { redirect_url: }.compact return redirect_to(action: :new, **url_params.merge(using: verification_type)) if available_methods.count == 1 render :choose end |
#create ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'decidim-verifications/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb', line 32 def create :create, :authorization, authorization: @authorization @form = UploadForm.from_params(params.merge(user: current_user)).with_context(current_organization:) PerformAuthorizationStep.call(@authorization, @form) do on(:ok) do flash[:notice] = t("authorizations.create.success", scope: "decidim.verifications.id_documents") redirect_to decidim_verifications. end on(:invalid) do flash.now[:alert] = t("authorizations.create.error", scope: "decidim.verifications.id_documents") render action: :new, status: :unprocessable_entity end end end |
#edit ⇒ Object
50 51 52 53 54 |
# File 'decidim-verifications/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb', line 50 def edit :update, :authorization, authorization: @authorization @form = UploadForm.from_model(@authorization) end |
#new ⇒ Object
24 25 26 27 28 29 30 |
# File 'decidim-verifications/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb', line 24 def new raise ActionController::RoutingError, "Method not available" unless available_methods.include?(verification_type) :create, :authorization, authorization: @authorization @form = UploadForm.from_params(id_document_upload: { verification_type: }) end |
#update ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'decidim-verifications/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb', line 56 def update :update, :authorization, authorization: @authorization @form = UploadForm.from_params( params.merge( user: current_user, verification_type:, verification_attachment: params[:id_document_upload][:verification_attachment] || @authorization..blob ) ).with_context(current_organization:) PerformAuthorizationStep.call(@authorization, @form) do on(:ok) do flash[:notice] = t("authorizations.update.success", scope: "decidim.verifications.id_documents") redirect_to decidim_verifications. end on(:invalid) do flash.now[:alert] = t("authorizations.update.error", scope: "decidim.verifications.id_documents") render action: :edit, status: :unprocessable_entity end end end |