From 96508cd1eedca289a0591dd4faa76796b2cab80e Mon Sep 17 00:00:00 2001 From: Alex Turchyn Date: Fri, 16 Jun 2023 23:39:55 +0300 Subject: [PATCH] adjust form completed step --- Gemfile | 1 - .../submissions_download_controller.rb | 4 +- app/controllers/submit_form_controller.rb | 10 +- app/controllers/templates_controller.rb | 2 +- app/javascript/form.scss | 4 + app/javascript/submission_form/area.vue | 34 +- app/javascript/submission_form/areas.vue | 4 +- app/javascript/submission_form/completed.vue | 95 +++-- app/javascript/submission_form/form.vue | 399 ++++++++++-------- app/models/submitter.rb | 2 - app/views/submit_form/show.html.erb | 7 +- .../generate_result_attachments.rb | 12 +- package.json | 1 + yarn.lock | 5 + 14 files changed, 334 insertions(+), 246 deletions(-) diff --git a/Gemfile b/Gemfile index bf3e17eb..91731bf6 100644 --- a/Gemfile +++ b/Gemfile @@ -27,7 +27,6 @@ gem 'sqlite3' gem 'strip_attributes' gem 'turbo-rails' gem 'tzinfo-data' -gem 'zip' group :development, :test do gem 'annotate' diff --git a/app/controllers/submissions_download_controller.rb b/app/controllers/submissions_download_controller.rb index befde1cc..26ebdf51 100644 --- a/app/controllers/submissions_download_controller.rb +++ b/app/controllers/submissions_download_controller.rb @@ -6,8 +6,8 @@ class SubmissionsDownloadController < ApplicationController def index submitter = Submitter.find_by(slug: params[:submitter_slug]) - Submissions::GenerateResultAttachments.call(submitter) + Submissions::GenerateResultAttachments.call(submitter) if submitter.documents.blank? - redirect_to submitter.archive.url, allow_other_host: true + render json: submitter.documents.map { |e| helpers.rails_blob_url(e) } end end diff --git a/app/controllers/submit_form_controller.rb b/app/controllers/submit_form_controller.rb index 00ac2b65..2c5ad926 100644 --- a/app/controllers/submit_form_controller.rb +++ b/app/controllers/submit_form_controller.rb @@ -10,7 +10,7 @@ class SubmitFormController < ApplicationController Submitter.preload(submission: { template: { documents_attachments: { preview_images_attachments: :blob } } }) .find_by!(slug: params[:slug]) - return redirect_to submit_form_completed_path(@submitter.slug) if @submitter.completed_at? + redirect_to submit_form_completed_path(@submitter.slug) if @submitter.completed_at? end def update @@ -30,6 +30,12 @@ class SubmitFormController < ApplicationController private def normalized_values - params[:values].to_unsafe_h.transform_values { |v| v.is_a?(Array) ? v.compact_blank : v } + params[:values].to_unsafe_h.transform_values do |v| + if params[:cast_boolean] == 'true' + v == 'true' + else + v.is_a?(Array) ? v.compact_blank : v + end + end end end diff --git a/app/controllers/templates_controller.rb b/app/controllers/templates_controller.rb index 4f9e8728..9a511c73 100644 --- a/app/controllers/templates_controller.rb +++ b/app/controllers/templates_controller.rb @@ -33,6 +33,6 @@ class TemplatesController < ApplicationController private def template_params - params.require(:template).permit(:name, :schema) + params.require(:template).permit(:name) end end diff --git a/app/javascript/form.scss b/app/javascript/form.scss index b604657a..3e61ae78 100644 --- a/app/javascript/form.scss +++ b/app/javascript/form.scss @@ -47,6 +47,10 @@ select:required:invalid { @apply btn btn-neutral text-white text-base; } +.white-button { + @apply btn btn-outline text-base bg-white border-2; +} + .base-checkbox { @apply checkbox rounded bg-white checkbox-sm; } diff --git a/app/javascript/submission_form/area.vue b/app/javascript/submission_form/area.vue index 66ce058c..0c5b536d 100644 --- a/app/javascript/submission_form/area.vue +++ b/app/javascript/submission_form/area.vue @@ -1,11 +1,11 @@