mirror of https://github.com/docusealco/docuseal
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							151 lines
						
					
					
						
							8.8 KiB
						
					
					
				
			
		
		
	
	
							151 lines
						
					
					
						
							8.8 KiB
						
					
					
				| <%= render 'shared/turbo_modal_large', title: 'Preferences', close_after_submit: false do %>
 | |
|   <% show_api = Docuseal.multitenant? || current_account.testing? || !current_account.linked_account_account %>
 | |
|   <% options = [%w[General general]] %>
 | |
|   <% options << ['API and Embedding', 'api'] if show_api %>
 | |
|   <% if options.size > 1 %>
 | |
|     <toggle-visible data-element-ids="<%= options.map(&:last).to_json %>" class="relative text-center mt-3 block">
 | |
|       <div class="join">
 | |
|         <% options.each_with_index do |(label, value), index| %>
 | |
|           <span>
 | |
|             <%= radio_button_tag 'option', value, value == 'general', class: 'peer hidden', data: { action: 'change:toggle-visible#trigger' } %>
 | |
|             <label for="option_<%= value %>" class="<%= '!rounded-s-full' if index.zero? %> btn btn-focus btn-sm join-item md:w-48 peer-checked:btn-active normal-case <%= 'px-8 md:px-0' if value == 'general' %>">
 | |
|               <%= label %>
 | |
|             </label>
 | |
|           </span>
 | |
|         <% end %>
 | |
|       </div>
 | |
|     </toggle-visible>
 | |
|   <% end %>
 | |
|   <div id="general" class="px-5 mb-4">
 | |
|     <%= form_for @template, url: template_preferences_path(@template), method: :post, html: { autocomplete: 'off', class: 'mt-2' } do |f| %>
 | |
|       <toggle-on-submit data-element-id="bcc_saved_alert"></toggle-on-submit>
 | |
|       <%= f.fields_for :preferences, Struct.new(:bcc_completed).new(@template.preferences['bcc_completed']) do |ff| %>
 | |
|         <div class="form-control">
 | |
|           <%= ff.label :bcc_completed, class: 'label' do %>
 | |
|             <span class="flex items-center space-x-1 justify-between w-full">
 | |
|               <span>
 | |
|                 Completed documents BCC address
 | |
|               </span>
 | |
|             </span>
 | |
|           <% end %>
 | |
|           <%= tag.input type: 'email', multiple: true, name: 'template[preferences][bcc_completed]', autocomplete: 'off', class: 'base-input', value: ff.object.bcc_completed %>
 | |
|         </div>
 | |
|       <% end %>
 | |
|       <div class="form-control pt-3">
 | |
|         <%= f.button button_title(title: 'Save', disabled_with: 'Updating'), class: 'base-button' %>
 | |
|         <div class="flex justify-center">
 | |
|           <span id="bcc_saved_alert" class="text-sm invisible font-normal mt-0.5">Changes have been saved</span>
 | |
|         </div>
 | |
|       </div>
 | |
|     <% end %>
 | |
|     <%= render 'templates_code_modal/preferences' %>
 | |
|     <div class="join join-vertical w-full !rounded-2xl mb-1.5 mt-2.5">
 | |
|       <div class="collapse collapse-arrow join-item border border-base-300">
 | |
|         <input type="checkbox" name="accordion">
 | |
|         <div class="collapse-title text-xl font-medium">
 | |
|           Signature request email
 | |
|         </div>
 | |
|         <div class="collapse-content">
 | |
|           <%= form_for @template, url: template_preferences_path(@template), method: :post, html: { autocomplete: 'off', class: 'mt-1' } do |f| %>
 | |
|             <toggle-on-submit data-element-id="email_saved_alert1"></toggle-on-submit>
 | |
|             <%= f.fields_for :preferences, Struct.new(:request_email_subject, :request_email_body).new(*(@template.preferences.values_at('request_email_subject', 'request_email_body').compact_blank.presence || AccountConfigs.find_or_initialize_for_key(current_account, AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY).value.values_at('subject', 'body'))) do |ff| %>
 | |
|               <div class="form-control">
 | |
|                 <%= ff.label :request_email_subject, 'Email subject', class: 'label' %>
 | |
|                 <%= ff.text_field :request_email_subject, required: true, class: 'base-input', dir: 'auto' %>
 | |
|               </div>
 | |
|               <div class="form-control">
 | |
|                 <div class="flex items-center">
 | |
|                   <%= ff.label :request_email_body, 'Email body', class: 'label' %>
 | |
|                   <span class="tooltip tooltip-right" data-tip="Use following placeholders text: <%= AccountConfig::DEFAULT_VALUES.dig(AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY, 'body').scan(/{{.*?}}/).join(', ') %>">
 | |
|                     <%= svg_icon('info_circle', class: 'w-4 h-4') %>
 | |
|                   </span>
 | |
|                 </div>
 | |
|                 <autoresize-textarea>
 | |
|                   <%= ff.text_area :request_email_body, required: true, class: 'base-input w-full py-2', dir: 'auto' %>
 | |
|                 </autoresize-textarea>
 | |
|               </div>
 | |
|             <% end %>
 | |
|             <div class="form-control pt-2">
 | |
|               <%= f.button button_title(title: 'Save', disabled_with: 'Saving'), class: 'base-button' %>
 | |
|               <div class="flex justify-center">
 | |
|                 <span id="email_saved_alert1" class="text-sm invisible font-normal mt-0.5">Changes have been saved</span>
 | |
|               </div>
 | |
|             </div>
 | |
|           <% end %>
 | |
|         </div>
 | |
|       </div>
 | |
|       <div class="collapse collapse-arrow join-item border border-base-300">
 | |
|         <input type="checkbox" name="accordion">
 | |
|         <div class="collapse-title text-xl font-medium">
 | |
|           Documents copy email
 | |
|         </div>
 | |
|         <div class="collapse-content">
 | |
|           <%= form_for @template, url: template_preferences_path(@template), method: :post, html: { autocomplete: 'off', class: 'mt-1' } do |f| %>
 | |
|             <toggle-on-submit data-element-id="email_saved_alert2"></toggle-on-submit>
 | |
|             <%= f.fields_for :preferences, Struct.new(:documents_copy_email_subject, :documents_copy_email_body).new(*(@template.preferences.values_at('documents_copy_email_subject', 'documents_copy_email_body').compact_blank.presence || AccountConfigs.find_or_initialize_for_key(current_account, AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY).value.values_at('subject', 'body'))) do |ff| %>
 | |
|               <div class="form-control">
 | |
|                 <%= ff.label :documents_copy_email_subject, 'Email subject', class: 'label' %>
 | |
|                 <%= ff.text_field :documents_copy_email_subject, required: true, class: 'base-input', dir: 'auto' %>
 | |
|               </div>
 | |
|               <div class="form-control">
 | |
|                 <div class="flex items-center">
 | |
|                   <%= ff.label :documents_copy_email_body, 'Email body', class: 'label' %>
 | |
|                   <span class="tooltip tooltip-right" data-tip="Use following placeholders text: <%= AccountConfig::DEFAULT_VALUES.dig(AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY, 'body').scan(/{{.*?}}/).join(', ') %>">
 | |
|                     <%= svg_icon('info_circle', class: 'w-4 h-4') %>
 | |
|                   </span>
 | |
|                 </div>
 | |
|                 <autoresize-textarea>
 | |
|                   <%= ff.text_area :documents_copy_email_body, required: true, class: 'base-input w-full py-2', dir: 'auto' %>
 | |
|                 </autoresize-textarea>
 | |
|               </div>
 | |
|             <% end %>
 | |
|             <div class="form-control pt-2">
 | |
|               <%= f.button button_title(title: 'Save', disabled_with: 'Saving'), class: 'base-button' %>
 | |
|               <div class="flex justify-center">
 | |
|                 <span id="email_saved_alert2" class="text-sm invisible font-normal mt-0.5">Changes have been saved</span>
 | |
|               </div>
 | |
|             </div>
 | |
|           <% end %>
 | |
|         </div>
 | |
|       </div>
 | |
|     </div>
 | |
|   </div>
 | |
|   <% if show_api %>
 | |
|     <div id="api" class="hidden mt-2 mb-4 px-5">
 | |
|       <div>
 | |
|         <label class="text-sm font-semibold" for="template_id">
 | |
|           Template ID
 | |
|         </label>
 | |
|         <div class="flex gap-2 mb-4 mt-2">
 | |
|           <input id="template_id" type="text" value="<%= @template.id %>" class="base-input w-full" autocomplete="off" readonly>
 | |
|           <%= render 'shared/clipboard_copy', icon: 'copy', text: @template.id, class: 'base-button', icon_class: 'w-6 h-6 text-white', copy_title: 'Copy', copied_title: 'Copied' %>
 | |
|         </div>
 | |
|       </div>
 | |
|       <div>
 | |
|         <label class="text-sm font-semibold" for="embedding_url">
 | |
|           Embedding URL
 | |
|         </label>
 | |
|         <div class="flex gap-2 mb-4 mt-2">
 | |
|           <input id="embedding_url" type="text" value="<%= start_form_url(slug: @template.slug) %>" class="base-input w-full" autocomplete="off" readonly>
 | |
|           <%= render 'shared/clipboard_copy', icon: 'copy', text: start_form_url(slug: @template.slug), class: 'base-button', icon_class: 'w-6 h-6 text-white', copy_title: 'Copy', copied_title: 'Copied' %>
 | |
|         </div>
 | |
|       </div>
 | |
|       <%= render 'templates_code_modal/placeholder' %>
 | |
|       <%= render 'templates/embedding', template: @template %>
 | |
|       <% if can?(:manage, TemplateSharing.new(template: @template)) %>
 | |
|         <%= form_for '', url: template_sharings_testing_index_path, method: :post, html: { class: 'mt-1' } do |f| %>
 | |
|           <%= f.hidden_field :template_id, value: @template.id %>
 | |
|           <div class="flex items-center justify-between">
 | |
|             <span>
 | |
|               Share template with Test Environment
 | |
|             </span>
 | |
|             <%= f.check_box :value, class: 'toggle', checked: @template.template_sharings.exists?(account_id: current_account.testing_accounts), onchange: 'this.form.requestSubmit()' %>
 | |
|           </div>
 | |
|         <% end %>
 | |
|         <div class="mb-4">
 | |
|         </div>
 | |
|       <% end %>
 | |
|     </div>
 | |
|   <% end %>
 | |
| <% end %>
 |