% close_on_submit = local_assigns.fetch(:close_on_submit, true) %>
<% is_order_set = template.submitters.any? { |s| s['order'] } %>
<%= form_for template, url: template_recipients_path(template), method: :post, html: { autocomplete: 'off', class: 'mt-1', id: :submitters_form }, data: { close_on_submit: } do |f| %>
  <% unless close_on_submit %>
    
    <% template.submitters.each_with_index do |submitter, index| %>
      
        <%= f.fields_for :submitters, item = Struct.new(:name, :uuid, :is_requester, :email, :invite_by_uuid, :optional_invite_by_uuid, :linked_to_uuid, :order, :option).new(*submitter.values_at('name', 'uuid', 'is_requester', 'email', 'invite_by_uuid', 'optional_invite_by_uuid', 'linked_to_uuid', 'order')), index: do |ff| %>
          <% item.option = item.is_requester.present? ? 'is_requester' : (item.email.present? ? 'email' : (item.linked_to_uuid.present? ? "linked_to_#{item.linked_to_uuid}" : (item.invite_by_uuid.present? ? "invite_by_#{item.invite_by_uuid}" : (item.optional_invite_by_uuid.present? ? "optional_invite_by_#{item.optional_invite_by_uuid}" : '')))) %>
          <%= ff.hidden_field :uuid %>
          
          <% if template.submitters.size == 2 %>
            
              <% if local_assigns[:with_submission_requester] != false %>
                
                  
                    <%= ff.check_box :is_requester, class: 'base-checkbox' %>
                   
                  
                    <%= t('submission_requester') %>
                   
                 
              <% end %>
              <% if index == 1 %>
                
                  
                    
                      <%= ff.check_box ff.object.optional_invite_by_uuid.present? ? :optional_invite_by_uuid : :invite_by_uuid, { class: 'base-checkbox' }, template.submitters.first['uuid'], '' %>
                     
                   
                  
                    <%= t('invite_by_name', name: template.submitters.first['name']) %> (<%= t(:optional).capitalize %>) 
                   
                 
              <% end %>
             
          <% end %>
        <% end %>
      
    <% end %>
  
        
          <%= t('enforce_recipients_order') %>
         
        <%= f.fields_for :preferences, Struct.new(:submitters_order).new(template.preferences['submitters_order']) do |ff| %>
          <%= ff.check_box :submitters_order, { class: 'toggle', onchange: 'this.form.requestSubmit()' }, 'preserved', '' %>
        <% end %>
      
    <% end %>
  <% end %>
  <% if can?(:manage, :personalization_advanced) %>
    <%= form_for template, url: template_preferences_path(template), method: :post, html: { autocomplete: 'off', class: 'mt-2' }, data: { close_on_submit: false } do |f| %>
      
        
          <%= t('ensure_unique_recipients') %>
         
        <%= f.fields_for :preferences, Struct.new(:validate_unique_submitters).new(template.preferences['validate_unique_submitters']) do |ff| %>
          <%= ff.check_box :validate_unique_submitters, { class: 'toggle', onchange: 'this.form.requestSubmit()' }, 'true', '' %>
        <% end %>
      
    <% end %>
  <% end %>
<% end %>
<% if template.submitters.size > 2 && !is_order_set %>
  
    <% template.submitters.each_with_index do |submitter, index| %>
      
        
          
            <%= select_tag "template[submitters][#{index}][order]", options_for_select(template.submitters.map.with_index { |_, i| [(i + 1).ordinalize, i] }, submitter['order'].presence || index), class: 'select select-xs text-sm input-bordered bg-white pl-3.5' %>
          
         
       
    <% end %>
   
<% end %>