From d723146060da08ff4bd293b4c4c2be9fb7357817 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sun, 3 Dec 2023 00:27:29 +0200 Subject: [PATCH] allow to invite fewer submitters than in template --- app/views/submissions/_detailed_form.html.erb | 2 +- app/views/submissions/_email_form.html.erb | 2 +- app/views/submissions/_phone_form.html.erb | 2 +- lib/submissions/create_from_submitters.rb | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/submissions/_detailed_form.html.erb b/app/views/submissions/_detailed_form.html.erb index d7ee5597..88a49e1e 100644 --- a/app/views/submissions/_detailed_form.html.erb +++ b/app/views/submissions/_detailed_form.html.erb @@ -18,7 +18,7 @@ <% end %> - + <%= tag.input type: 'text', name: 'submission[1][submitters][][name]', autocomplete: 'off', class: 'input input-sm input-bordered w-full', placeholder: 'Name', required: index.zero?, value: params[:selfsign] && index.zero? ? current_user.full_name : '' %>
diff --git a/app/views/submissions/_email_form.html.erb b/app/views/submissions/_email_form.html.erb index c942329e..c5790bcf 100644 --- a/app/views/submissions/_email_form.html.erb +++ b/app/views/submissions/_email_form.html.erb @@ -25,7 +25,7 @@ - + <%= tag.input type: 'email', multiple: true, name: 'submission[1][submitters][][email]', autocomplete: 'off', class: 'input input-sm input-bordered w-full', placeholder: 'Email', required: index.zero?, value: params[:selfsign] && index.zero? ? current_user.email : '' %> <% end %> diff --git a/app/views/submissions/_phone_form.html.erb b/app/views/submissions/_phone_form.html.erb index 6bbb7b32..3c35ab3f 100644 --- a/app/views/submissions/_phone_form.html.erb +++ b/app/views/submissions/_phone_form.html.erb @@ -19,7 +19,7 @@ <% end %> - + <%= tag.input type: 'tel', pattern: '^\+[0-9\s\-]+$', oninvalid: "this.value ? this.setCustomValidity('Use internatioanl format: +1xxx...') : ''", oninput: "this.setCustomValidity('')", name: 'submission[1][submitters][][phone]', autocomplete: 'off', class: 'input input-sm input-bordered w-full', placeholder: 'Phone', required: index.zero? %> <% if template.submitters.size > 1 %> diff --git a/lib/submissions/create_from_submitters.rb b/lib/submissions/create_from_submitters.rb index df4f5f2c..7e822100 100644 --- a/lib/submissions/create_from_submitters.rb +++ b/lib/submissions/create_from_submitters.rb @@ -24,6 +24,7 @@ module Submissions uuid = find_submitter_uuid(template, submitter_attrs, index) next if uuid.blank? + next if submitter_attrs.slice('email', 'phone', 'name').compact_blank.blank? submission.template_submitters << template.submitters.find { |e| e['uuid'] == uuid }