mirror of https://github.com/docusealco/docuseal
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							32 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							32 lines
						
					
					
						
							1.0 KiB
						
					
					
				| # frozen_string_literal: true
 | |
| 
 | |
| class StartFormEmail2faSendController < ApplicationController
 | |
|   around_action :with_browser_locale
 | |
| 
 | |
|   skip_before_action :authenticate_user!
 | |
|   skip_authorization_check
 | |
| 
 | |
|   def create
 | |
|     @template = Template.find_by!(slug: params[:slug])
 | |
| 
 | |
|     @submitter = @template.submissions.new(account_id: @template.account_id)
 | |
|                           .submitters.new(**submitter_params, account_id: @template.account_id)
 | |
| 
 | |
|     Submitters.send_shared_link_email_verification_code(@submitter, request:)
 | |
| 
 | |
|     redir_params = { notice: I18n.t(:code_has_been_resent) } if params[:resend]
 | |
| 
 | |
|     redirect_to start_form_path(@template.slug, params: submitter_params.merge(email_verification: true)),
 | |
|                 **redir_params
 | |
|   rescue Submitters::UnableToSendCode => e
 | |
|     redirect_to start_form_path(@template.slug, params: submitter_params.merge(email_verification: true)),
 | |
|                 alert: e.message
 | |
|   end
 | |
| 
 | |
|   private
 | |
| 
 | |
|   def submitter_params
 | |
|     params.require(:submitter).permit(:name, :email, :phone)
 | |
|   end
 | |
| end
 |