|
|
|
|
@ -8,7 +8,6 @@ class SubmitFormController < ApplicationController
|
|
|
|
|
skip_authorization_check
|
|
|
|
|
|
|
|
|
|
CONFIG_KEYS = [].freeze
|
|
|
|
|
PRELOAD_ALL_PAGES_AMOUNT = 200
|
|
|
|
|
|
|
|
|
|
def show
|
|
|
|
|
@submitter = Submitter.find_by!(slug: params[:slug])
|
|
|
|
|
@ -16,20 +15,7 @@ class SubmitFormController < ApplicationController
|
|
|
|
|
return redirect_to submit_form_completed_path(@submitter.slug) if @submitter.completed_at?
|
|
|
|
|
return render :archived if @submitter.submission.template.archived_at? || @submitter.submission.archived_at?
|
|
|
|
|
|
|
|
|
|
ActiveRecord::Associations::Preloader.new(
|
|
|
|
|
records: [@submitter],
|
|
|
|
|
associations: [submission: [:template, { template_schema_documents: :blob }]]
|
|
|
|
|
).call
|
|
|
|
|
|
|
|
|
|
total_pages =
|
|
|
|
|
@submitter.submission.template_schema_documents.sum { |e| e.metadata.dig('pdf', 'number_of_pages').to_i }
|
|
|
|
|
|
|
|
|
|
if total_pages < PRELOAD_ALL_PAGES_AMOUNT
|
|
|
|
|
ActiveRecord::Associations::Preloader.new(
|
|
|
|
|
records: @submitter.submission.template_schema_documents,
|
|
|
|
|
associations: [:blob, { preview_images_attachments: :blob }]
|
|
|
|
|
).call
|
|
|
|
|
end
|
|
|
|
|
Submitters.preload_with_pages(@submitter)
|
|
|
|
|
|
|
|
|
|
Submitters::MaybeUpdateDefaultValues.call(@submitter, current_user)
|
|
|
|
|
|
|
|
|
|
@ -40,7 +26,15 @@ class SubmitFormController < ApplicationController
|
|
|
|
|
|
|
|
|
|
return unless @form_configs[:prefill_signature]
|
|
|
|
|
|
|
|
|
|
@signature_attachment =
|
|
|
|
|
if (user_signature = UserConfigs.load_signature(current_user))
|
|
|
|
|
@signature_attachment = ActiveStorage::Attachment.find_or_create_by!(
|
|
|
|
|
blob_id: user_signature.blob_id,
|
|
|
|
|
name: 'attachments',
|
|
|
|
|
record: @submitter
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@signature_attachment ||=
|
|
|
|
|
Submitters::MaybeAssignDefaultBrowserSignature.call(@submitter, params, cookies, @attachments_index.values)
|
|
|
|
|
|
|
|
|
|
@attachments_index[@signature_attachment.uuid] = @signature_attachment if @signature_attachment
|
|
|
|
|
|