diff --git a/app/controllers/email_smtp_settings_controller.rb b/app/controllers/email_smtp_settings_controller.rb
index f918f172..00f51511 100644
--- a/app/controllers/email_smtp_settings_controller.rb
+++ b/app/controllers/email_smtp_settings_controller.rb
@@ -3,7 +3,7 @@
class EmailSmtpSettingsController < ApplicationController
before_action :load_encrypted_config
authorize_resource :encrypted_config, only: :index
- authorize_resource :encrypted_config, parent: false, only: :create
+ authorize_resource :encrypted_config, parent: false, only: %i[create destroy]
def index; end
@@ -23,6 +23,12 @@ class EmailSmtpSettingsController < ApplicationController
render :index, status: :unprocessable_content
end
+ def destroy
+ @encrypted_config.destroy!
+
+ redirect_to settings_email_index_path, notice: I18n.t('smtp_settings_have_been_reset')
+ end
+
private
def load_encrypted_config
diff --git a/app/views/email_smtp_settings/index.html.erb b/app/views/email_smtp_settings/index.html.erb
index 821d8335..378551ed 100644
--- a/app/views/email_smtp_settings/index.html.erb
+++ b/app/views/email_smtp_settings/index.html.erb
@@ -57,6 +57,11 @@
<%= f.button button_title(title: t('save'), disabled_with: t('saving')), class: 'base-button' %>
<% end %>
+ <% if Docuseal.multitenant? && @encrypted_config.persisted? %>
+
+ <%= button_to t('reset_default'), settings_email_path(@encrypted_config), method: :delete, class: 'link', data: { turbo_confirm: t('are_you_sure_') } %>
+
+ <% end %>
diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb
index 147b1c31..f5fdce90 100644
--- a/app/views/shared/_settings_nav.html.erb
+++ b/app/views/shared/_settings_nav.html.erb
@@ -12,12 +12,12 @@
<%= link_to t('account'), settings_account_path, class: 'text-base hover:bg-base-300' %>
+ <% if (!Docuseal.multitenant? || EncryptedConfig.exists?(key: EncryptedConfig::EMAIL_SMTP_KEY, account: current_account)) && can?(:read, EncryptedConfig.new(key: EncryptedConfig::EMAIL_SMTP_KEY, account: current_account)) && ENV['SMTP_ADDRESS'].blank? && true_user == current_user %>
+
+ <%= link_to t('email'), settings_email_index_path, class: 'text-base hover:bg-base-300' %>
+
+ <% end %>
<% unless Docuseal.multitenant? %>
- <% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::EMAIL_SMTP_KEY, account: current_account)) && ENV['SMTP_ADDRESS'].blank? && true_user == current_user %>
-
- <%= link_to t('email'), settings_email_index_path, class: 'text-base hover:bg-base-300' %>
-
- <% end %>
<% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::FILES_STORAGE_KEY, account: current_account)) && true_user == current_user && ENV['S3_ATTACHMENTS_BUCKET'].blank? && ENV['GCS_BUCKET'].blank? && ENV['AZURE_CONTAINER'].blank? %>
<%= link_to t('storage'), settings_storage_index_path, class: 'text-base hover:bg-base-300' %>
diff --git a/config/locales/i18n.yml b/config/locales/i18n.yml
index 7f9ee69e..078e4f47 100644
--- a/config/locales/i18n.yml
+++ b/config/locales/i18n.yml
@@ -899,6 +899,7 @@ en: &en
mobile: Mobile
tablet: Tablet
reset_default: Reset default
+ smtp_settings_have_been_reset: SMTP settings have been reset.
send_signature_request_email: Send signature request email
last_3_months: Last 3 months
last_6_months: Last 6 months
@@ -1975,6 +1976,7 @@ es: &es
mobile: Móvil
tablet: Tableta
reset_default: Restablecer por defecto
+ smtp_settings_have_been_reset: La configuración SMTP ha sido restablecida.
send_signature_request_email: Enviar correo de solicitud de firma
last_3_months: Últimos 3 meses
last_6_months: Últimos 6 meses
@@ -3051,6 +3053,7 @@ it: &it
mobile: Mobile
tablet: Tablet
reset_default: Reimposta predefinito
+ smtp_settings_have_been_reset: Le impostazioni SMTP sono state ripristinate.
send_signature_request_email: Invia email di richiesta firma
last_3_months: Ultimi 3 mesi
last_6_months: Ultimi 6 mesi
@@ -4123,6 +4126,7 @@ fr: &fr
mobile: Mobile
tablet: Tablette
reset_default: Réinitialiser par défaut
+ smtp_settings_have_been_reset: Les paramètres SMTP ont été réinitialisés.
send_signature_request_email: Envoyer un e-mail de demande de signature
last_month: Mois dernier
last_3_months: 3 derniers mois
@@ -5200,6 +5204,7 @@ pt: &pt
mobile: Celular
tablet: Tablet
reset_default: Redefinir para padrão
+ smtp_settings_have_been_reset: As configurações SMTP foram redefinidas.
send_signature_request_email: Enviar e-mail de solicitação de assinatura
last_3_months: Últimos 3 meses
last_6_months: Últimos 6 meses
@@ -6276,6 +6281,7 @@ de: &de
mobile: Mobil
tablet: Tablet
reset_default: Standard zurücksetzen
+ smtp_settings_have_been_reset: Die SMTP-Einstellungen wurden zurückgesetzt.
send_signature_request_email: Signaturanfrage-E-Mail senden
last_3_months: Letzte 3 Monate
last_6_months: Letzte 6 Monate
@@ -7753,6 +7759,7 @@ nl: &nl
mobile: Mobiel
tablet: Tablet
reset_default: Standaard herstellen
+ smtp_settings_have_been_reset: De SMTP-instellingen zijn hersteld.
send_signature_request_email: E-mail met handtekeningaanvraag verzenden
last_3_months: Afgelopen 3 maanden
last_6_months: Afgelopen 6 maanden
diff --git a/config/routes.rb b/config/routes.rb
index 0127450e..b31db369 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -189,7 +189,7 @@ Rails.application.routes.draw do
resources :api, only: %i[index create], controller: 'api_settings'
resource :reveal_access_token, only: %i[show create], controller: 'reveal_access_token'
end
- resources :email, only: %i[index create], controller: 'email_smtp_settings'
+ resources :email, only: %i[index create destroy], controller: 'email_smtp_settings'
resources :sso, only: %i[index], controller: 'sso_settings'
resources :notifications, only: %i[index create], controller: 'notifications_settings'
resource :esign, only: %i[show create new update destroy], controller: 'esign_settings'