diff --git a/app/controllers/start_form_controller.rb b/app/controllers/start_form_controller.rb index aa4c5121..a5b6fce1 100644 --- a/app/controllers/start_form_controller.rb +++ b/app/controllers/start_form_controller.rb @@ -57,7 +57,7 @@ class StartFormController < ApplicationController elsif @submitter.errors.blank? && @submitter.save Submitters::StartForm.enqueue_new_submitter_jobs(@submitter) if is_new_record - Submitters::StartForm.assign_start_form_cookie(request, @submitter) + Submitters::StartForm.assign_start_form_cookie(@submitter, request) redirect_to submit_form_path(@submitter.slug) else diff --git a/app/controllers/start_form_resubmit_controller.rb b/app/controllers/start_form_resubmit_controller.rb index 6c7a1f4f..d0c91c69 100644 --- a/app/controllers/start_form_resubmit_controller.rb +++ b/app/controllers/start_form_resubmit_controller.rb @@ -23,7 +23,8 @@ class StartFormResubmitController < ApplicationController if (is_new_record = @submitter.new_record?) Submitters::StartForm.assign_submission_attributes( @submitter, @template, - ip: request.remote_ip, user_agent: request.user_agent, resubmit_submitter: @resubmit_submitter + ip: request.remote_ip, user_agent: request.user_agent, resubmit_submitter: @resubmit_submitter, + source: @resubmit_submitter.submission.source_self? ? :self : :link ) Submissions::AssignDefinedSubmitters.call(@submitter.submission) @@ -36,7 +37,7 @@ class StartFormResubmitController < ApplicationController elsif @submitter.save Submitters::StartForm.enqueue_new_submitter_jobs(@submitter) if is_new_record - Submitters::StartForm.assign_start_form_cookie(request, @submitter) + Submitters::StartForm.assign_start_form_cookie(@submitter, request) redirect_to submit_form_path(@submitter.slug) else diff --git a/app/controllers/start_form_self_controller.rb b/app/controllers/start_form_self_controller.rb index c7124a1a..2a6d904c 100644 --- a/app/controllers/start_form_self_controller.rb +++ b/app/controllers/start_form_self_controller.rb @@ -29,7 +29,7 @@ class StartFormSelfController < ApplicationController Submitters::StartForm.enqueue_new_submitter_jobs(@submitter) if is_new_record - Submitters::StartForm.assign_start_form_cookie(request, @submitter) + Submitters::StartForm.assign_start_form_cookie(@submitter, request) redirect_to submit_form_path(@submitter.slug) end diff --git a/lib/submitters/start_form.rb b/lib/submitters/start_form.rb index 59f2569d..6e378104 100644 --- a/lib/submitters/start_form.rb +++ b/lib/submitters/start_form.rb @@ -26,14 +26,13 @@ module Submitters return false if submitter.submission.source_embed? return true if template.preferences['shared_link_2fa'] == true return false if submitter.submission.source_link? - return true if Docuseal.multitenant? return true if current_user && submitter.email == current_user.email && current_user.account_id == submitter.account_id - Accounts.can_send_emails?(template.account) + Docuseal.multitenant? || Accounts.can_send_emails?(template.account) end - def assign_start_form_cookie(request, submitter) + def assign_start_form_cookie(submitter, request) request.cookie_jar.encrypted[:start_form_slug] = { value: submitter.slug, expires: START_FORM_COOKIES_TTL.from_now, **COOKIES_DEFAULTS } end @@ -118,7 +117,7 @@ module Submitters enqueue_new_submitter_jobs(submitter) if is_new_record - assign_start_form_cookie(request, submitter) + assign_start_form_cookie(submitter, request) if is_otp_verified SubmissionEvents.create_with_tracking_data(submitter, 'email_verified', request)