* feat: allow reply_to and email_from to be set for an SMTP config * feat: use these SMTP values in the mailers * spec: test the application_mailer * fix: validate with email, and not url * feat: mimic macs changes from https://github.com/forem/forem/pull/16216 to use in this PR * setup packs for admin * refactor: order the keys and add a const for the auth methods * feat: rename the header to a more user friendlly name * chore: move the section with Emails * feat: add a toggle that will show and hide the SMTP form under certain conditions * feat: add the javaScript to handle the toggles * feat: add a better description until we convert to a dropdown * feat: ensure that we have declared sendgrid_enabled * chore: add anote to the config controller * chore: remove references of the email addresses to keep brnach scoped * feat: tweak js * test: cypress workflow to update smtp settings * feat : update the smtp tests * remove comments * update test * chore: rename NOTE * feat: polisha dn test ForemInstance.only_sendgrid_enabled? * chore: remove specs * Update app/lib/constants/settings/smtp.rb Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * Update spec/system/admin/config/admin_updates_smtp_settings_spec.rb Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * Update spec/system/admin/config/admin_updates_smtp_settings_spec.rb Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * Update spec/system/admin/config/admin_updates_smtp_settings_spec.rb Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * Update app/javascript/packs/admin/config/smtp.js Co-authored-by: Nick Taylor <nick@iamdeveloper.com> * refactor js as per comments * refactor as per comments * Update cypress/integration/seededFlows/adminFlows/config/emailServerSettingsSection.spec.js Co-authored-by: Suzanne Aitchison <suzanne@forem.com> * refactor: update the Cypress tests Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> Co-authored-by: Nick Taylor <nick@iamdeveloper.com> Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
54 lines
1.4 KiB
Ruby
54 lines
1.4 KiB
Ruby
class ForemInstance
|
|
def self.deployed_at
|
|
@deployed_at ||= ApplicationConfig["RELEASE_FOOTPRINT"].presence ||
|
|
ENV["HEROKU_RELEASE_CREATED_AT"].presence ||
|
|
Time.current.to_s
|
|
end
|
|
|
|
def self.latest_commit_id
|
|
@latest_commit_id ||= ApplicationConfig["FOREM_BUILD_SHA"].presence || ENV["HEROKU_SLUG_COMMIT"].presence
|
|
end
|
|
|
|
def self.email
|
|
ApplicationConfig["DEFAULT_EMAIL"]
|
|
end
|
|
|
|
def self.contact_email
|
|
Settings::General.contact_email
|
|
end
|
|
|
|
# Return true if we are operating on a local installation, false otherwise
|
|
def self.local?
|
|
Settings::General.app_domain.include?("localhost")
|
|
end
|
|
|
|
# Used where we need to keep old DEV features around but don't want to/cannot
|
|
# expose them to other communities.
|
|
def self.dev_to?
|
|
Settings::General.app_domain == "dev.to"
|
|
end
|
|
|
|
def self.smtp_enabled?
|
|
Settings::SMTP.provided_minimum_settings? || ENV["SENDGRID_API_KEY"].present?
|
|
end
|
|
|
|
def self.sendgrid_enabled?
|
|
ENV["SENDGRID_API_KEY"].present?
|
|
end
|
|
|
|
def self.only_sendgrid_enabled?
|
|
ForemInstance.sendgrid_enabled? && !Settings::SMTP.provided_minimum_settings?
|
|
end
|
|
|
|
def self.invitation_only?
|
|
Settings::Authentication.invite_only_mode?
|
|
end
|
|
|
|
def self.private?
|
|
!Settings::UserExperience.public?
|
|
end
|
|
|
|
def self.needs_owner_secret?
|
|
ENV["FOREM_OWNER_SECRET"].present? && Settings::General.waiting_on_first_user
|
|
end
|
|
end
|