Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/mailers/application_mailer.rb')
-rw-r--r--app/mailers/application_mailer.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
new file mode 100644
index 00000000000..e0c95370072
--- /dev/null
+++ b/app/mailers/application_mailer.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+class ApplicationMailer < ActionMailer::Base
+ around_action :render_with_default_locale
+
+ helper ApplicationHelper
+ helper MarkupHelper
+
+ attr_accessor :current_user
+ helper_method :current_user, :can?
+
+ default from: proc { default_sender_address.format }
+ default reply_to: proc { default_reply_to_address.format }
+
+ def can?
+ Ability.allowed?(current_user, action, subject)
+ end
+
+ private
+
+ def render_with_default_locale(&block)
+ Gitlab::I18n.with_default_locale(&block)
+ end
+
+ def default_sender_address
+ address = Mail::Address.new(Gitlab.config.gitlab.email_from)
+ address.display_name = Gitlab.config.gitlab.email_display_name
+ address
+ end
+
+ def default_reply_to_address
+ address = Mail::Address.new(Gitlab.config.gitlab.email_reply_to)
+ address.display_name = Gitlab.config.gitlab.email_display_name
+ address
+ end
+end