From cda349d71cf21c90105bffb2d2c1ea5ae8afd058 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sun, 7 Apr 2024 17:12:46 +0300 Subject: [PATCH] adjust send email views --- app/jobs/send_submitter_invitation_email_job.rb | 6 ++++++ .../notifications_settings/_email_stats.html.erb | 0 app/views/notifications_settings/index.html.erb | 1 - app/views/shared/_settings_nav.html.erb | 2 +- app/views/start_form/completed.html.erb | 2 +- app/views/submissions/_send_email.html.erb | 16 +++++++++------- app/views/submissions/show.html.erb | 2 +- app/views/submissions_preview/completed.html.erb | 2 +- app/views/submit_form/_submission_form.html.erb | 2 +- app/views/submit_form/completed.html.erb | 2 +- app/views/templates/show.html.erb | 2 +- 11 files changed, 22 insertions(+), 15 deletions(-) delete mode 100644 app/views/notifications_settings/_email_stats.html.erb diff --git a/app/jobs/send_submitter_invitation_email_job.rb b/app/jobs/send_submitter_invitation_email_job.rb index 0a1b5abb..8b524aa1 100644 --- a/app/jobs/send_submitter_invitation_email_job.rb +++ b/app/jobs/send_submitter_invitation_email_job.rb @@ -4,6 +4,12 @@ class SendSubmitterInvitationEmailJob < ApplicationJob def perform(params = {}) submitter = Submitter.find(params['submitter_id']) + if submitter.submission.source == 'invite' && !Accounts.can_send_emails?(submitter.account) + Rollbar.error("Skip email: #{submitter.id}") if defined?(Rollbar) + + return + end + mail = SubmitterMailer.invitation_email(submitter) Submitters::ValidateSending.call(submitter, mail) diff --git a/app/views/notifications_settings/_email_stats.html.erb b/app/views/notifications_settings/_email_stats.html.erb deleted file mode 100644 index e69de29b..00000000 diff --git a/app/views/notifications_settings/index.html.erb b/app/views/notifications_settings/index.html.erb index 632c145d..02eafee9 100644 --- a/app/views/notifications_settings/index.html.erb +++ b/app/views/notifications_settings/index.html.erb @@ -16,7 +16,6 @@ <% end %> <% end %> - <%= render 'email_stats' %> <%= render 'bcc_form', config: @bcc_config %>

Sign Request Email Reminders

diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb index b7879566..563f5f51 100644 --- a/app/views/shared/_settings_nav.html.erb +++ b/app/views/shared/_settings_nav.html.erb @@ -81,7 +81,7 @@ <% end %> <% end %> - <% if can?(:manage, :saml_sso) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %> + <% if (!Docuseal.multitenant? || can?(:manage, :saml_sso)) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %>
  • <%= link_to 'SSO', settings_sso_index_path, class: 'text-base hover:bg-base-300' %>
  • diff --git a/app/views/start_form/completed.html.erb b/app/views/start_form/completed.html.erb index 56be4843..18eafec5 100644 --- a/app/views/start_form/completed.html.erb +++ b/app/views/start_form/completed.html.erb @@ -19,7 +19,7 @@
    <%= t('form_has_been_submitted_already') %>
    - <% if Accounts.can_send_emails?(@submitter.account) %> + <% if Docuseal.multitenant? || Accounts.can_send_emails?(@submitter.account) %>
    <%= button_to button_title(title: t('send_copy_to_email'), disabled_with: t('sending'), icon: svg_icon('mail_forward', class: 'w-6 h-6')), send_submission_email_index_path, params: { submitter_slug: @submitter.slug }, form: { onsubmit: 'event.submitter.disabled = true' }, class: 'base-button w-full' %>
    diff --git a/app/views/submissions/_send_email.html.erb b/app/views/submissions/_send_email.html.erb index 53dd83e6..a537bcd4 100644 --- a/app/views/submissions/_send_email.html.erb +++ b/app/views/submissions/_send_email.html.erb @@ -1,19 +1,21 @@
    - <% is_smtp_configured = Accounts.can_send_emails?(current_account) %> + <% can_send_emails = Accounts.can_send_emails?(current_account) %>
    <%= f.label :send_email, for: uuid = SecureRandom.uuid, class: 'flex items-center cursor-pointer' do %> - <%= f.check_box :send_email, id: uuid, class: 'base-checkbox', disabled: !is_smtp_configured, checked: is_smtp_configured %> + <%= f.check_box :send_email, id: uuid, class: 'base-checkbox', disabled: !can_send_emails, checked: can_send_emails %> Send emails <% end %>
    - + <% if can_send_emails %> + + <% end %> <%= render 'email_stats' %>
    - <% unless is_smtp_configured %> + <% if !Docuseal.multitenant? && !can_send_emails %>
    <%= svg_icon('info_circle', class: 'w-6 h-6') %>
    diff --git a/app/views/submissions/show.html.erb b/app/views/submissions/show.html.erb index e83bc1d6..ce41cc0d 100644 --- a/app/views/submissions/show.html.erb +++ b/app/views/submissions/show.html.erb @@ -115,7 +115,7 @@ <%= submitter&.completed_at? ? l(submitter.completed_at.in_time_zone(@submission.account.timezone), format: :long, locale: @submission.account.locale) : 'Not completed yet' %>
    - <% if signed_in? && submitter && submitter.email && !submitter.completed_at && can?(:update, submitter) %> + <% if signed_in? && submitter && submitter.email && !submitter.completed_at && can?(:update, submitter) && Accounts.can_send_emails?(current_account) %>
    <%= button_to button_title(title: submitter.sent_at? ? 'Re-send Email' : 'Send Email', disabled_with: 'Sending'), submitter_send_email_index_path(submitter_slug: submitter.slug), class: 'btn btn-sm btn-primary w-full' %>
    diff --git a/app/views/submissions_preview/completed.html.erb b/app/views/submissions_preview/completed.html.erb index 8b84c726..1ab1c268 100644 --- a/app/views/submissions_preview/completed.html.erb +++ b/app/views/submissions_preview/completed.html.erb @@ -20,7 +20,7 @@
    - <% if Accounts.can_send_emails?(@submission.account) %> + <% if Docuseal.multitenant? || Accounts.can_send_emails?(@submission.account) %> <%= form_for '', url: send_submission_email_index_path, method: :post, html: { class: 'space-y-4', onsubmit: 'event.submitter.disabled = true' } do |f| %>
    <%= f.hidden_field :submission_slug, value: @submission.slug %> diff --git a/app/views/submit_form/_submission_form.html.erb b/app/views/submit_form/_submission_form.html.erb index 0e1d8820..b3ee13c7 100644 --- a/app/views/submit_form/_submission_form.html.erb +++ b/app/views/submit_form/_submission_form.html.erb @@ -1,4 +1,4 @@ <% data_attachments = attachments_index.values.select { |e| e.record_id == submitter.id }.to_json(only: %i[uuid], methods: %i[url filename content_type]) %> <% data_fields = (submitter.submission.template_fields || submitter.submission.template.fields).select { |f| f['submitter_uuid'] == submitter.uuid }.to_json %> <% configs = Submitters::FormConfigs.call(submitter) %> - + diff --git a/app/views/submit_form/completed.html.erb b/app/views/submit_form/completed.html.erb index bb85b69d..5cc780a4 100644 --- a/app/views/submit_form/completed.html.erb +++ b/app/views/submit_form/completed.html.erb @@ -17,7 +17,7 @@
    - <% if Accounts.can_send_emails?(@submitter.account) && @submitter.email.present? %> + <% if (Docuseal.multitenant? || Accounts.can_send_emails?(@submitter.account)) && @submitter.email.present? %> <%= button_to button_title(title: t('send_copy_to_email'), disabled_with: t('sending'), icon: svg_icon('mail_forward', class: 'w-6 h-6')), send_submission_email_index_path, params: { submitter_slug: @submitter.slug }, form: { onsubmit: 'event.submitter.disabled = true' }, class: 'white-button w-full' %> <% if @submitter.submission.template.submitters.size != 1 %>
    <%= t('or') %>
    diff --git a/app/views/templates/show.html.erb b/app/views/templates/show.html.erb index 107429ea..cdf719ef 100644 --- a/app/views/templates/show.html.erb +++ b/app/views/templates/show.html.erb @@ -1,6 +1,6 @@ <%= render 'title', template: @template %> <% is_show_tabs = @pagy.pages > 1 || params[:status].present? %> -<% if !@pagy.count.zero? || params[:q].present? %> +<% if !@pagy.count.zero? || params[:q].present? || params[:status].present? %>

    Submissions