|
|
|
@ -1,3 +1,4 @@
|
|
|
|
|
|
|
|
<% submitter_preferences_index = template.preferences['submitters'].to_a.index_by { |e| e['uuid'] } %>
|
|
|
|
<div class="form-control">
|
|
|
|
<div class="form-control">
|
|
|
|
<% can_send_emails = Accounts.can_send_emails?(current_account) %>
|
|
|
|
<% can_send_emails = Accounts.can_send_emails?(current_account) %>
|
|
|
|
<div class="flex justify-between items-center">
|
|
|
|
<div class="flex justify-between items-center">
|
|
|
|
@ -36,10 +37,18 @@
|
|
|
|
<% config = AccountConfigs.find_or_initialize_for_key(current_account, AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY) %>
|
|
|
|
<% config = AccountConfigs.find_or_initialize_for_key(current_account, AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY) %>
|
|
|
|
<div id="message_field" class="card card-compact bg-base-300/40 hidden">
|
|
|
|
<div id="message_field" class="card card-compact bg-base-300/40 hidden">
|
|
|
|
<div class="card-body">
|
|
|
|
<div class="card-body">
|
|
|
|
<div class="form-control space-y-2">
|
|
|
|
<%= tag.input id: 'request_email_per_submitter', value: '1', name: 'request_email_per_submitter', class: 'peer', type: 'checkbox', hidden: true, checked: local_assigns[:message_per_submitter] != false && template.preferences['submitters'].to_a.size > 1 %>
|
|
|
|
|
|
|
|
<div class="peer-checked:hidden form-control space-y-2">
|
|
|
|
<div class="form-control">
|
|
|
|
<div class="form-control">
|
|
|
|
|
|
|
|
<div class="flex justify-between">
|
|
|
|
<%= f.label :subject, t('subject'), class: 'label' %>
|
|
|
|
<%= f.label :subject, t('subject'), class: 'label' %>
|
|
|
|
<%= f.text_field :subject, value: local_assigns[:submitter_email_message]&.subject.presence || template.preferences['request_email_subject'].presence || config.value['subject'], required: true, class: '!text-sm base-input w-full', dir: 'auto' %>
|
|
|
|
<% if template.submitters.size > 1 && template.submitters.size < 5 && local_assigns[:message_per_submitter] != false %>
|
|
|
|
|
|
|
|
<label for="request_email_per_submitter" class="label underline">
|
|
|
|
|
|
|
|
<%= t('edit_per_party') %>
|
|
|
|
|
|
|
|
</label>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<%= f.text_field :subject, value: local_assigns[:submitter_email_message]&.subject.presence || submitter_preferences_index.dig(local_assigns[:submitter]&.uuid, 'request_email_subject').presence || template.preferences['request_email_subject'].presence || config.value['subject'], required: true, class: '!text-sm base-input w-full', dir: 'auto' %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-control">
|
|
|
|
<div class="form-control">
|
|
|
|
<div class="flex items-center">
|
|
|
|
<div class="flex items-center">
|
|
|
|
@ -49,7 +58,7 @@
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<autoresize-textarea>
|
|
|
|
<autoresize-textarea>
|
|
|
|
<%= f.text_area :body, value: local_assigns[:submitter_email_message]&.body.presence || template.preferences['request_email_body'].presence || config.value['body'], required: true, class: 'base-textarea w-full', rows: 10, dir: 'auto' %>
|
|
|
|
<%= f.text_area :body, value: local_assigns[:submitter_email_message]&.body.presence || submitter_preferences_index.dig(local_assigns[:submitter]&.uuid, 'request_email_body').presence || template.preferences['request_email_body'].presence || config.value['body'], required: true, class: 'base-textarea w-full', rows: 10, dir: 'auto' %>
|
|
|
|
</autoresize-textarea>
|
|
|
|
</autoresize-textarea>
|
|
|
|
<% unless local_assigns.fetch(:disable_save_as_default_template_option, false) %>
|
|
|
|
<% unless local_assigns.fetch(:disable_save_as_default_template_option, false) %>
|
|
|
|
<label for="<%= uuid = SecureRandom.uuid %>" class="flex items-center cursor-pointer">
|
|
|
|
<label for="<%= uuid = SecureRandom.uuid %>" class="flex items-center cursor-pointer">
|
|
|
|
@ -60,5 +69,43 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<%= render 'submissions/message_fields' %>
|
|
|
|
<%= render 'submissions/message_fields' %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% if template.submitters.size > 1 && template.submitters.size < 5 && local_assigns[:message_per_submitter] != false %>
|
|
|
|
|
|
|
|
<div class="hidden peer-checked:block form-control space-y-2">
|
|
|
|
|
|
|
|
<% options = template.submitters.map { |e| [e['name'], "request_email_#{e['uuid']}"] } %>
|
|
|
|
|
|
|
|
<toggle-visible data-element-ids="<%= options.map(&:last).to_json %>" class="flex relative px-1">
|
|
|
|
|
|
|
|
<ul class="tabs w-full flex flex-nowrap">
|
|
|
|
|
|
|
|
<% options.each_with_index do |(label, val), index| %>
|
|
|
|
|
|
|
|
<div class="w-full">
|
|
|
|
|
|
|
|
<%= f.radio_button :selected, val, checked: index.zero?, id: "#{val}_radio", data: { action: 'click:toggle-visible#trigger' }, class: 'hidden peer' %>
|
|
|
|
|
|
|
|
<%= f.label :selected, label, value: val, for: "#{val}_radio", class: 'tab w-full tab-lifted peer-checked:tab-active !bg-transparent' %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</toggle-visible>
|
|
|
|
|
|
|
|
<% template.submitters.each_with_index do |submitter, index| %>
|
|
|
|
|
|
|
|
<%= fields_for :submitter_preferences, nil, index: submitter['uuid'] do |ff| %>
|
|
|
|
|
|
|
|
<div id="request_email_<%= submitter['uuid'] %>" class="<%= 'hidden' if index != 0 %>">
|
|
|
|
|
|
|
|
<div class="form-control">
|
|
|
|
|
|
|
|
<div class="flex justify-between">
|
|
|
|
|
|
|
|
<%= ff.label :subject, t('subject'), class: 'label' %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<%= ff.text_field :subject, value: local_assigns[:submitter_email_message]&.subject.presence || submitter_preferences_index.dig(submitter['uuid'], 'request_email_subject').presence || template.preferences['request_email_subject'].presence || config.value['subject'], required: true, class: '!text-sm base-input w-full', dir: 'auto' %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-control">
|
|
|
|
|
|
|
|
<div class="flex items-center">
|
|
|
|
|
|
|
|
<%= ff.label :message, t('body'), class: 'label' %>
|
|
|
|
|
|
|
|
<span class="tooltip tooltip-right" data-tip="<%= t('use_following_placeholders_text_') %> <%= AccountConfig::DEFAULT_VALUES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY].call['body'].scan(/{.*?}/).join(', ') %>">
|
|
|
|
|
|
|
|
<%= svg_icon('info_circle', class: 'w-4 h-4') %>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<autoresize-textarea>
|
|
|
|
|
|
|
|
<%= ff.text_area :body, value: local_assigns[:submitter_email_message]&.body.presence || submitter_preferences_index.dig(submitter['uuid'], 'request_email_body').presence || template.preferences['request_email_body'].presence || config.value['body'], required: true, class: 'base-textarea w-full', rows: 10, dir: 'auto' %>
|
|
|
|
|
|
|
|
</autoresize-textarea>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|