Files
docuseal/app/views/submissions/_email_form.html.erb
T

82 lines
5.1 KiB
Plaintext
Raw Normal View History

2023-09-03 14:05:31 +03:00
<%= form_for '', url: template_submissions_path(template), html: { class: 'space-y-4', autocomplete: 'off' }, data: { turbo_frame: :_top } do |f| %>
2026-02-20 12:27:39 +02:00
<% submitters = template.submitters.reject { |e| e['invite_by_uuid'].present? || e['optional_invite_by_uuid'].present? || e['invite_via_field_uuid'].present? } %>
2026-02-12 09:22:08 +02:00
<% if submitters.size == 1 && local_assigns[:variables_form] %>
<% item = submitters.first %>
<div class="grid gap-1">
<submitter-item class="grid md:grid-cols-2 gap-1">
<div class="form-control">
<input type="hidden" name="submission[1][submitters][][uuid]" value="<%= item['uuid'] %>">
<submitters-autocomplete data-field="email">
<linked-input data-target-id="<%= "email_#{item['linked_to_uuid']}" if item['linked_to_uuid'].present? %>">
<%= tag.input type: 'email', multiple: true, name: 'submission[1][submitters][][email]', autocomplete: 'off', class: 'base-input !h-10 w-full', placeholder: t('email'), required: true, value: item['email'].presence || (params[:selfsign] || item['is_requester'] ? current_user.email : ''), id: "email_#{item['uuid']}" %>
</linked-input>
</submitters-autocomplete>
</div>
<div class="form-control flex">
<submitters-autocomplete data-field="name">
<linked-input data-target-id="<%= "email_name_#{item['linked_to_uuid']}" if item['linked_to_uuid'].present? %>">
<input type="text" name="submission[1][submitters][][name]" autocomplete="off" class="base-input !h-10 w-full" placeholder="<%= "#{t('name')} (#{t('optional')})" %>" value="<%= params[:selfsign] || item['is_requester'] ? current_user.full_name : '' %>" dir="auto" id="email_name_<%= item['uuid'] %>">
</linked-input>
</submitters-autocomplete>
</div>
</submitter-item>
</div>
<% elsif submitters.size == 1 %>
2023-09-23 18:22:48 +03:00
<submitter-item class="form-control">
2024-03-30 14:42:42 +02:00
<emails-textarea data-bulk-enabled="<%= Docuseal.demo? || !Docuseal.multitenant? || can?(:manage, :bulk_send) %>" data-limit="<%= Docuseal.multitenant? ? (can?(:manage, :bulk_send) ? 40 : 1) : nil %>">
2024-03-16 22:18:43 +02:00
<submitters-autocomplete data-field="email" class="block relative">
<autoresize-textarea>
2024-09-18 19:47:47 +03:00
<%= f.text_area :emails, required: true, class: 'base-textarea w-full !text-lg', placeholder: "#{t('type_emails_here')}...", rows: 2 %>
2024-03-16 22:18:43 +02:00
</autoresize-textarea>
</submitters-autocomplete>
</emails-textarea>
2023-09-23 18:22:48 +03:00
</submitter-item>
2023-09-03 14:05:31 +03:00
<% else %>
<dynamic-list class="space-y-4">
<div class="space-y-4">
2026-03-26 16:09:57 +02:00
<div class="relative <%= 'p-4 rounded-xl bg-base-300/40' unless local_assigns[:variables_form] %>" data-targets="dynamic-list.items">
2026-02-12 09:22:08 +02:00
<div>
2023-09-03 14:05:31 +03:00
<div class="absolute right-4 top-5">
<a href="#" data-action="click:dynamic-list#removeItem" class="-top-3 relative block w-6 h-6 rounded-lg text-neutral-700 text-center bg-base-300 p-1 hidden hover:bg-neutral hover:text-white">
<%= svg_icon('trash', class: 'w-4 h-4') %>
</a>
</div>
<div class="grid md:grid-cols-2 gap-4">
2024-09-12 17:31:37 +03:00
<% submitters.each_with_index do |item, index| %>
2023-09-20 02:00:00 +03:00
<submitter-item class="form-control">
2024-09-13 20:20:30 +03:00
<label class="label pt-0 pb-1">
2023-09-03 14:05:31 +03:00
<span class="label-text"> <%= item['name'] %></span>
</label>
<input type="hidden" name="submission[1][submitters][][uuid]" value="<%= item['uuid'] %>">
2023-09-20 02:00:00 +03:00
<submitters-autocomplete data-field="email">
2024-09-06 19:30:49 +03:00
<linked-input data-target-id="<%= "email_#{item['linked_to_uuid']}" if item['linked_to_uuid'].present? %>">
2025-06-16 22:17:14 +03:00
<%= tag.input type: 'email', multiple: true, name: 'submission[1][submitters][][email]', autocomplete: 'off', class: 'base-input !h-10 w-full', placeholder: t('email'), required: index.zero? || template.preferences['require_all_submitters'], value: item['email'].presence || ((params[:selfsign] && index.zero?) || item['is_requester'] ? current_user.email : ''), id: "email_#{item['uuid']}" %>
2024-09-06 19:30:49 +03:00
</linked-input>
2023-09-20 02:00:00 +03:00
</submitters-autocomplete>
</submitter-item>
2023-09-03 14:05:31 +03:00
<% end %>
</div>
</div>
</div>
</div>
2026-02-12 09:22:08 +02:00
<% if params[:selfsign].blank? && local_assigns[:variables_form].blank? %>
2023-11-30 01:50:22 +02:00
<a href="#" class="btn btn-primary btn-sm w-full flex items-center justify-center" data-action="click:dynamic-list#addItem">
<%= svg_icon('user_plus', class: 'w-4 h-4 stroke-2') %>
2024-09-18 19:47:47 +03:00
<span><%= t('add_new') %></span>
2023-11-30 01:50:22 +02:00
</a>
<% end %>
2023-09-03 14:05:31 +03:00
</dynamic-list>
<% end %>
2026-02-12 09:22:08 +02:00
<%= local_assigns[:variables_form] %>
2023-09-10 02:10:01 +03:00
<div>
<%= render('submitters_order', f:, template:) if Accounts.can_send_emails?(current_account) %>
2026-01-14 12:44:27 +02:00
<%= render 'send_email', f:, template: %>
<%= render 'extra_fields', f: %>
2023-09-10 02:10:01 +03:00
</div>
2023-09-03 14:05:31 +03:00
<div class="form-control">
2024-04-09 01:54:39 +03:00
<%= content_for(:submit_button) || capture do %>
2024-09-18 19:47:47 +03:00
<%= f.button button_title(title: t('add_recipients')), class: 'base-button' %>
2024-04-09 01:54:39 +03:00
<% end %>
2023-09-03 14:05:31 +03:00
</div>
<% end %>