fix multi party email form

pull/601/head
Pete Matsyburka 4 weeks ago
parent 746757d402
commit e5b63ea2b0

@ -45,31 +45,28 @@
<% end %> <% end %>
</ul> </ul>
</toggle-visible> </toggle-visible>
<%= f.fields_for :preferences do |ff| %> <% @template.submitters.each_with_index do |submitter, index| %>
<% @template.submitters.each_with_index do |submitter, index| %> <div id="request_email_<%= submitter['uuid'] %>" class="<%= 'hidden' if index != 0 %>">
<div id="request_email_<%= submitter['uuid'] %>" class="<%= 'hidden' if index != 0 %>"> <% submitter_preferences = f.object.preferences['submitters'].to_a.find { |e| e['uuid'] == submitter['uuid'] } || {} %>
<% submitter_preferences = f.object.preferences['submitters'].to_a.find { |e| e['uuid'] == submitter['uuid'] } || {} %> <% submitter_email_preferences_values = submitter_preferences.values_at('request_email_subject', 'request_email_body').compact_blank.presence %>
<% submitter_email_preferences_values = submitter_preferences.values_at('request_email_subject', 'request_email_body').compact_blank.presence %> <% submitter_email_values = submitter_email_preferences_values || template_email_preferences_values.presence || default_template_email_preferences_values %>
<%= ff.fields_for :submitters, Struct.new(:request_email_subject, :request_email_body).new(*(submitter_preferences.values_at('request_email_subject', 'request_email_body').compact_blank.presence || template_email_preferences_values.presence || default_template_email_preferences_values)), index: nil do |fff| %> <%= hidden_field_tag 'template[preferences][submitters][][uuid]', submitter['uuid'] %>
<%= fff.hidden_field :uuid, value: submitter['uuid'] %> <div class="form-control">
<div class="form-control"> <div class="flex justify-between">
<div class="flex justify-between"> <label class="label"><%= t('email_subject') %></label>
<%= fff.label :request_email_subject, t('email_subject'), class: 'label' %> <% if submitter_email_preferences_values.present? %>
<% if submitter_email_preferences_values.present? %> <label for="submitter_invitation_email_reset_link" class="label underline">
<label for="submitter_invitation_email_reset_link" class="label underline"> <%= t('reset_default') %>
<%= t('reset_default') %> </label>
</label> <% end %>
<% end %> </div>
</div> <%= text_field_tag 'template[preferences][submitters][][request_email_subject]', submitter_email_values.first, required: true, class: 'base-input', dir: 'auto', autocomplete: 'off' %>
<%= fff.text_field :request_email_subject, required: true, class: 'base-input', dir: 'auto' %> </div>
</div> <div class="form-control">
<div class="form-control"> <label class="label"><%= t('email_body') %></label>
<%= fff.label :request_email_body, t('email_body'), class: 'label' %> <%= render 'personalization_settings/markdown_editor', name: 'template[preferences][submitters][][request_email_body]', value: submitter_email_values.last, variables: AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY] %>
<%= render 'personalization_settings/markdown_editor', name: fff.field_name(:request_email_body), value: fff.object.request_email_body, variables: AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY] %>
</div>
<% end %>
</div> </div>
<% end %> </div>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>

Loading…
Cancel
Save