|
|
|
|
@ -5,12 +5,12 @@ class SubmitFormInviteController < ApplicationController
|
|
|
|
|
skip_authorization_check
|
|
|
|
|
|
|
|
|
|
def create
|
|
|
|
|
submitter = Submitter.find_by!(slug: params[:submit_form_slug])
|
|
|
|
|
@submitter = Submitter.find_by!(slug: params[:submit_form_slug])
|
|
|
|
|
|
|
|
|
|
return head :unprocessable_content unless can_invite?(submitter)
|
|
|
|
|
return head :unprocessable_content unless can_invite?(@submitter)
|
|
|
|
|
|
|
|
|
|
invite_submitters = filter_invite_submitters(submitter, 'invite_by_uuid')
|
|
|
|
|
optional_invite_submitters = filter_invite_submitters(submitter, 'optional_invite_by_uuid')
|
|
|
|
|
invite_submitters = filter_invite_submitters(@submitter, 'invite_by_uuid')
|
|
|
|
|
optional_invite_submitters = filter_invite_submitters(@submitter, 'optional_invite_by_uuid')
|
|
|
|
|
|
|
|
|
|
ApplicationRecord.transaction do
|
|
|
|
|
(invite_submitters + optional_invite_submitters).each do |item|
|
|
|
|
|
@ -21,18 +21,18 @@ class SubmitFormInviteController < ApplicationController
|
|
|
|
|
|
|
|
|
|
email = Submissions.normalize_email(attrs[:email])
|
|
|
|
|
|
|
|
|
|
submitter.submission.submitters.create!(uuid: attrs[:uuid], email:, account_id: submitter.account_id)
|
|
|
|
|
@submitter.submission.submitters.create!(uuid: attrs[:uuid], email:, account_id: @submitter.account_id)
|
|
|
|
|
|
|
|
|
|
SubmissionEvents.create_with_tracking_data(submitter, 'invite_party', request, { uuid: submitter.uuid })
|
|
|
|
|
SubmissionEvents.create_with_tracking_data(@submitter, 'invite_party', request, { uuid: @submitter.uuid })
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
submitter.submission.update!(submitters_order: :preserved)
|
|
|
|
|
@submitter.submission.update!(submitters_order: :preserved)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
submitter.submission.submitters.reload
|
|
|
|
|
@submitter.submission.submitters.reload
|
|
|
|
|
|
|
|
|
|
if invite_submitters.all? { |s| submitter.submission.submitters.any? { |e| e.uuid == s['uuid'] } }
|
|
|
|
|
Submitters::SubmitValues.call(submitter, ActionController::Parameters.new(completed: 'true'), request)
|
|
|
|
|
if invite_submitters.all? { |s| @submitter.submission.submitters.any? { |e| e.uuid == s['uuid'] } }
|
|
|
|
|
Submitters::SubmitValues.call(@submitter, ActionController::Parameters.new(completed: 'true'), request)
|
|
|
|
|
|
|
|
|
|
head :ok
|
|
|
|
|
else
|
|
|
|
|
|