Adição da função de configuração de email e whatts

This commit is contained in:
2026-08-11 13:31:22 -03:00
parent e8f470f878
commit e530815377
27 changed files with 1461 additions and 92 deletions

View File

@@ -1,5 +1,12 @@
Devise.setup do |config|
# Fallback: só é consultado se o `default from:` do mailer sumir.
config.mailer_sender = ENV.fetch('SMTP_USERNAME', 'noreply@gade.com.br')
# Faz Devise::Mailer herdar de ApplicationMailer para que o "esqueci minha
# senha" use o SMTP e o remetente gravados no banco (tela /admin/
# configuracao_notificacao). Efeito colateral: os e-mails do Devise passam a
# usar o layout app/views/layouts/mailer.html.erb.
config.parent_mailer = 'ApplicationMailer'
require 'devise/orm/active_record'
config.case_insensitive_keys = [:email]
config.strip_whitespace_keys = [:email]

View File

@@ -3,4 +3,7 @@
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.irregular 'consolidacao', 'consolidacoes'
inflect.irregular 'configuracao', 'configuracoes'
# Sem esta linha, ConfiguracaoNotificacao procuraria a tabela
# "configuracao_notificacaos" (o irregular acima só casa no FIM da palavra).
inflect.irregular 'notificacao', 'notificacoes'
end

View File

@@ -1,5 +1,12 @@
# config/initializers/smtp.rb
# Configuração de e-mail 100% via ENV — só ativa se SMTP_USERNAME existir
#
# FALLBACK de e-mail via ENV — só ativa se SMTP_USERNAME existir.
#
# A fonte de verdade preferencial é o BANCO (ConfiguracaoNotificacao, editável
# em /admin/configuracao_notificacao). O ApplicationMailer passa as settings do
# banco em `delivery_method_options`, que o ActionMailer MERGEIA por cima do que
# está configurado aqui. Ou seja: banco > .env, e o que estiver só aqui continua
# valendo enquanto a tela não for preenchida.
if ENV['SMTP_USERNAME'].present?
Rails.application.config.action_mailer.delivery_method = :smtp
Rails.application.config.action_mailer.smtp_settings = {