mirror of
https://github.com/docusealco/docuseal
synced 2026-11-07 15:22:33 -05:00
resend emails
This commit is contained in:
1 parent
230d3ccf69
commit
bdf1850448
4 files changed
+66
No files matched your search
@@ -0,0 +1,38 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class SubmissionsResendEmailController < ApplicationController
|
||||||
|
load_and_authorize_resource :submission
|
||||||
|
|
||||||
|
before_action do
|
||||||
|
authorize!(:manage, :resend_all)
|
||||||
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
submitters = @submission.submitters.reject(&:completed_at?).select { |s| s.email.present? && !s.declined_at? }
|
||||||
|
|
||||||
|
if Docuseal.multitenant?
|
||||||
|
recent_submitter_ids =
|
||||||
|
SubmissionEvent.where(submitter_id: submitters.map(&:id),
|
||||||
|
event_type: 'send_email',
|
||||||
|
created_at: 10.hours.ago..Time.current).pluck(:submitter_id).to_set
|
||||||
|
|
||||||
|
submitters = submitters.reject { |s| recent_submitter_ids.include?(s.id) }
|
||||||
|
end
|
||||||
|
|
||||||
|
submitters.each do |submitter|
|
||||||
|
SendSubmitterInvitationEmailJob.perform_async('submitter_id' => submitter.id)
|
||||||
|
|
||||||
|
submitter.sent_at ||= Time.current
|
||||||
|
submitter.save!
|
||||||
|
end
|
||||||
|
|
||||||
|
notice =
|
||||||
|
if submitters.empty?
|
||||||
|
I18n.t('email_has_been_sent_already')
|
||||||
|
else
|
||||||
|
I18n.t('emails_have_been_sent_to_n_recipients', count: submitters.size)
|
||||||
|
end
|
||||||
|
|
||||||
|
redirect_back(fallback_location: submission_path(@submission), notice:)
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -30,6 +30,12 @@
|
|||||||
<span class="hidden md:block"><%= t('event_log') %></span>
|
<span class="hidden md:block"><%= t('event_log') %></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% if signed_in? && !is_all_completed && can?(:manage, :resend_all) && @submission.submitters.to_a.size > 3 && !@submission.archived_at? && !@submission.template&.archived_at? && !@submission.expired? && can?(:update, @submission) %>
|
||||||
|
<% pending_submitters_count = @submission.submitters.to_a.count { |s| !s.completed_at? && s.email.present? && !s.declined_at? } %>
|
||||||
|
<% if pending_submitters_count.positive? %>
|
||||||
|
<%= button_to button_title(title: t('re_send_emails'), title_class: 'hidden md:inline', disabled_with: t('sending'), icon: svg_icon('mail_forward', class: 'w-6 h-6')), submission_resend_email_index_path(@submission), class: 'white-button', data: { turbo_confirm: t('are_you_sure_you_want_to_re_send_email_to_n_recipients', count: pending_submitters_count) } %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
<% if @submission.submitters.to_a.any?(&:completed_at?) %>
|
<% if @submission.submitters.to_a.any?(&:completed_at?) %>
|
||||||
<% if is_all_completed || !is_combined_enabled %>
|
<% if is_all_completed || !is_combined_enabled %>
|
||||||
<div class="join relative">
|
<div class="join relative">
|
||||||
|
|||||||
@@ -658,6 +658,9 @@ en: &en
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Create a new template</a> document form or <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">submit the existing one</a>
|
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Create a new template</a> document form or <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">submit the existing one</a>
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Send email copy with completed documents to a specified BCC address.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Send email copy with completed documents to a specified BCC address.
|
||||||
re_send_email: Re-send Email
|
re_send_email: Re-send Email
|
||||||
|
re_send_emails: Re-send Emails
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: Are you sure you want to re-send the invitation email to %{count} recipients?
|
||||||
|
emails_have_been_sent_to_n_recipients: Emails have been sent to %{count} recipients.
|
||||||
send_email: Send Email
|
send_email: Send Email
|
||||||
copy_share_link: Copy Share Link
|
copy_share_link: Copy Share Link
|
||||||
copied_to_clipboard: Copied to Clipboard
|
copied_to_clipboard: Copied to Clipboard
|
||||||
@@ -1708,6 +1711,9 @@ es: &es
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Crear una nueva plantilla</a> de documento o <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">enviar el existente</a>
|
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Crear una nueva plantilla</a> de documento o <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">enviar el existente</a>
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Enviar una copia del correo electrónico con los documentos completados a una dirección BCC especificada.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Enviar una copia del correo electrónico con los documentos completados a una dirección BCC especificada.
|
||||||
re_send_email: Reenviar correo electrónico
|
re_send_email: Reenviar correo electrónico
|
||||||
|
re_send_emails: Reenviar emails
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: ¿Estás seguro de que quieres reenviar el correo de invitación a %{count} destinatarios?
|
||||||
|
emails_have_been_sent_to_n_recipients: Los correos electrónicos han sido enviados a %{count} destinatarios.
|
||||||
send_email: Enviar correo electrónico
|
send_email: Enviar correo electrónico
|
||||||
copy_share_link: Copiar enlace de compartir
|
copy_share_link: Copiar enlace de compartir
|
||||||
copied_to_clipboard: Copiado al portapapeles
|
copied_to_clipboard: Copiado al portapapeles
|
||||||
@@ -2755,6 +2761,9 @@ it: &it
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Crea un nuovo modello</a> di documento o <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">invia quello esistente</a>
|
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Crea un nuovo modello</a> di documento o <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">invia quello esistente</a>
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Invia una copia dell'email con i documenti completati a un indirizzo BCC specificato.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Invia una copia dell'email con i documenti completati a un indirizzo BCC specificato.
|
||||||
re_send_email: Invia di nuovo l'email
|
re_send_email: Invia di nuovo l'email
|
||||||
|
re_send_emails: Reinvia email
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: Sei sicuro di voler inviare di nuovo l'email di invito a %{count} destinatari?
|
||||||
|
emails_have_been_sent_to_n_recipients: Le email sono state inviate a %{count} destinatari.
|
||||||
send_email: Invia email
|
send_email: Invia email
|
||||||
copy_share_link: Copia link di condivisione
|
copy_share_link: Copia link di condivisione
|
||||||
copied_to_clipboard: Copiato negli appunti
|
copied_to_clipboard: Copiato negli appunti
|
||||||
@@ -3802,6 +3811,9 @@ fr: &fr
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Créez un nouveau modèle</a> de document ou <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">soumettez l’existant</a>
|
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Créez un nouveau modèle</a> de document ou <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">soumettez l’existant</a>
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Envoyer une copie e‑mail avec les documents complétés à une adresse Cci spécifiée.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Envoyer une copie e‑mail avec les documents complétés à une adresse Cci spécifiée.
|
||||||
re_send_email: Renvoyer l’e‑mail
|
re_send_email: Renvoyer l’e‑mail
|
||||||
|
re_send_emails: Renvoyer e‑mails
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: Êtes‑vous sûr de vouloir renvoyer l’e‑mail d’invitation à %{count} destinataires ?
|
||||||
|
emails_have_been_sent_to_n_recipients: Les e‑mails ont été envoyés à %{count} destinataires.
|
||||||
send_email: Envoyer l’e‑mail
|
send_email: Envoyer l’e‑mail
|
||||||
copy_share_link: Copier le lien de partage
|
copy_share_link: Copier le lien de partage
|
||||||
copied_to_clipboard: Copié dans le presse‑papiers
|
copied_to_clipboard: Copié dans le presse‑papiers
|
||||||
@@ -4846,6 +4858,9 @@ pt: &pt
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: '<a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Criar um novo modelo</a> de documento ou <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">submeter o existente</a>'
|
create_a_new_template_document_form_or_submit_the_existing_one_html: '<a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Criar um novo modelo</a> de documento ou <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">submeter o existente</a>'
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Envie uma cópia do e-mail com documentos concluídos para um endereço BCC especificado.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Envie uma cópia do e-mail com documentos concluídos para um endereço BCC especificado.
|
||||||
re_send_email: Reenviar e-mail
|
re_send_email: Reenviar e-mail
|
||||||
|
re_send_emails: Reenviar e-mails
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: Tem certeza de que deseja reenviar o e-mail de convite para %{count} destinatários?
|
||||||
|
emails_have_been_sent_to_n_recipients: Os e-mails foram enviados para %{count} destinatários.
|
||||||
send_email: Enviar e-mail
|
send_email: Enviar e-mail
|
||||||
copy_share_link: Copiar link de compartilhamento
|
copy_share_link: Copiar link de compartilhamento
|
||||||
copied_to_clipboard: Copiado para a área de transferência
|
copied_to_clipboard: Copiado para a área de transferência
|
||||||
@@ -5893,6 +5908,9 @@ de: &de
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Neue Vorlage erstellen</a> oder <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">bestehende einreichen</a>
|
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Neue Vorlage erstellen</a> oder <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">bestehende einreichen</a>
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Senden Sie eine E-Mail-Kopie mit abgeschlossenen Dokumenten an eine angegebene BCC-Adresse.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Senden Sie eine E-Mail-Kopie mit abgeschlossenen Dokumenten an eine angegebene BCC-Adresse.
|
||||||
re_send_email: E-Mail erneut senden
|
re_send_email: E-Mail erneut senden
|
||||||
|
re_send_emails: E-Mails senden
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: Sind Sie sicher, dass Sie die Einladungs-E-Mail erneut an %{count} Empfänger senden möchten?
|
||||||
|
emails_have_been_sent_to_n_recipients: Die E-Mails wurden an %{count} Empfänger gesendet.
|
||||||
send_email: E-Mail senden
|
send_email: E-Mail senden
|
||||||
copy_share_link: Freigabelink kopieren
|
copy_share_link: Freigabelink kopieren
|
||||||
copied_to_clipboard: In die Zwischenablage kopiert
|
copied_to_clipboard: In die Zwischenablage kopiert
|
||||||
@@ -7345,6 +7363,9 @@ nl: &nl
|
|||||||
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Maak een nieuw sjabloon</a> voor een documentformulier of <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">dien het bestaande in</a>
|
create_a_new_template_document_form_or_submit_the_existing_one_html: <a href="%{new_template_link}" data-turbo-frame="modal" class="inline underline font-medium">Maak een nieuw sjabloon</a> voor een documentformulier of <a href="%{start_form_link}" target="_blank" class="inline underline font-medium">dien het bestaande in</a>
|
||||||
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Stuur een e-mailkopie met voltooide documenten naar een opgegeven BCC-adres.
|
send_email_copy_with_completed_documents_to_a_specified_bcc_address: Stuur een e-mailkopie met voltooide documenten naar een opgegeven BCC-adres.
|
||||||
re_send_email: E-mail opnieuw verzenden
|
re_send_email: E-mail opnieuw verzenden
|
||||||
|
re_send_emails: E-mails verzenden
|
||||||
|
are_you_sure_you_want_to_re_send_email_to_n_recipients: Weet je zeker dat je de uitnodigings-e-mail opnieuw wilt verzenden naar %{count} ontvangers?
|
||||||
|
emails_have_been_sent_to_n_recipients: De e-mails zijn verzonden naar %{count} ontvangers.
|
||||||
send_email: E-mail verzenden
|
send_email: E-mail verzenden
|
||||||
copy_share_link: Deellink kopiëren
|
copy_share_link: Deellink kopiëren
|
||||||
copied_to_clipboard: Gekopieerd naar klembord
|
copied_to_clipboard: Gekopieerd naar klembord
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ Rails.application.routes.draw do
|
|||||||
resources :unarchive, only: %i[create], controller: 'submissions_unarchive'
|
resources :unarchive, only: %i[create], controller: 'submissions_unarchive'
|
||||||
resources :events, only: %i[index], controller: 'submission_events'
|
resources :events, only: %i[index], controller: 'submission_events'
|
||||||
resources :download, only: %i[index], controller: 'submissions_download'
|
resources :download, only: %i[index], controller: 'submissions_download'
|
||||||
|
resources :resend_email, only: %i[create], controller: 'submissions_resend_email'
|
||||||
end
|
end
|
||||||
resources :submitters, only: %i[edit update]
|
resources :submitters, only: %i[edit update]
|
||||||
resources :console_redirect, only: %i[index]
|
resources :console_redirect, only: %i[index]
|
||||||
|
|||||||
Reference in new issue
Block a user