Module: Emails::Profile

Includes:
SafeFormatHelper
Included in:
Notify
Defined in:
app/mailers/emails/profile.rb

Instance Method Summary collapse

Methods included from SafeFormatHelper

#safe_format, #tag_pair

Instance Method Details

#access_token_about_to_expire_email(user, token_names) ⇒ Object



111
112
113
114
115
116
117
118
119
120
# File 'app/mailers/emails/profile.rb', line 111

def access_token_about_to_expire_email(user, token_names)
  return unless user

  @user = user
  @token_names = token_names
  @target_url = profile_personal_access_tokens_url
  @days_to_expire = PersonalAccessToken::DAYS_TO_EXPIRE

  mail_with_locale(to: @user.notification_email_or_default, subject: subject(_("Your personal access tokens will expire in %{days_to_expire} days or less") % { days_to_expire: @days_to_expire }))
end

#access_token_created_email(user, token_name) ⇒ Object



101
102
103
104
105
106
107
108
109
# File 'app/mailers/emails/profile.rb', line 101

def access_token_created_email(user, token_name)
  return unless user&.active?

  @user = user
  @target_url = profile_personal_access_tokens_url
  @token_name = token_name

  email_with_layout(to: @user.notification_email_or_default, subject: subject(_("A new personal access token has been created")))
end

#access_token_expired_email(user, token_names = []) ⇒ Object



122
123
124
125
126
127
128
129
130
# File 'app/mailers/emails/profile.rb', line 122

def access_token_expired_email(user, token_names = [])
  return unless user && user.active?

  @user = user
  @token_names = token_names
  @target_url = profile_personal_access_tokens_url

  email_with_layout(to: @user.notification_email_or_default, subject: subject(_("Your personal access tokens have expired")))
end

#access_token_revoked_email(user, token_name, source = nil) ⇒ Object



132
133
134
135
136
137
138
139
140
141
# File 'app/mailers/emails/profile.rb', line 132

def access_token_revoked_email(user, token_name, source = nil)
  return unless user&.active?

  @user = user
  @token_name = token_name
  @target_url = profile_personal_access_tokens_url
  @source = source

  mail_with_locale(to: @user.notification_email_or_default, subject: subject(_("A personal access token has been revoked")))
end

#application_authorized_email(user) ⇒ Object



93
94
95
96
97
98
99
# File 'app/mailers/emails/profile.rb', line 93

def application_authorized_email(user)
  return unless user

  @user = user

  email_with_layout(to: @user.notification_email_or_default, subject: subject(_("An application has been authorized")))
end

#application_created_email(user) ⇒ Object



85
86
87
88
89
90
91
# File 'app/mailers/emails/profile.rb', line 85

def application_created_email(user)
  return unless user

  @user = user

  email_with_layout(to: @user.notification_email_or_default, subject: subject(_("A new application has been created")))
end

#disabled_two_factor_email(user) ⇒ Object



184
185
186
187
188
189
190
# File 'app/mailers/emails/profile.rb', line 184

def disabled_two_factor_email(user)
  return unless user

  @user = user

  mail_with_locale(to: @user.notification_email_or_default, subject: subject(_("Two-factor authentication disabled")))
end

#instance_access_request_email(user, recipient) ⇒ Object



14
15
16
17
18
19
20
21
# File 'app/mailers/emails/profile.rb', line 14

def instance_access_request_email(user, recipient)
  @user = user
  @recipient = recipient

  email_with_layout(
    to: recipient.notification_email_or_default,
    subject: subject(_("GitLab Account Request")))
end

#new_achievement_email(user, achievement) ⇒ Object



201
202
203
204
205
206
207
208
209
210
# File 'app/mailers/emails/profile.rb', line 201

def new_achievement_email(user, achievement)
  return unless user&.active?

  @user = user
  @achievement = achievement

  email_with_layout(
    to: @user.notification_email_or_default,
    subject: subject(s_("Achievements|%{namespace_full_path} awarded you the %{achievement_name} achievement") % { namespace_full_path: @achievement.namespace.full_path, achievement_name: @achievement.name }))
end

#new_email_address_added_email(user, email) ⇒ Object



192
193
194
195
196
197
198
199
# File 'app/mailers/emails/profile.rb', line 192

def new_email_address_added_email(user, email)
  return unless user

  @user = user
  @email = email

  email_with_layout(to: @user.notification_email_or_default, subject: subject(_("New email address added")))
end

#new_gpg_key_email(gpg_key_id) ⇒ Object

rubocop: disable CodeReuse/ActiveRecord



52
53
54
55
56
57
58
59
60
# File 'app/mailers/emails/profile.rb', line 52

def new_gpg_key_email(gpg_key_id)
  @gpg_key = GpgKey.find_by(id: gpg_key_id)

  return unless @gpg_key

  @current_user = @user = @gpg_key.user
  @target_url = user_url(@user)
  mail_with_locale(to: @user.notification_email_or_default, subject: subject("GPG key was added to your account"))
end

#new_ssh_key_email(key_id) ⇒ Object

rubocop: disable CodeReuse/ActiveRecord



40
41
42
43
44
45
46
47
48
# File 'app/mailers/emails/profile.rb', line 40

def new_ssh_key_email(key_id)
  @key = Key.find_by(id: key_id)

  return unless @key

  @current_user = @user = @key.user
  @target_url = user_url(@user)
  mail_with_locale(to: @user.notification_email_or_default, subject: subject("SSH key was added to your account"))
end

#new_user_email(user_id, token = nil) ⇒ Object



7
8
9
10
11
12
# File 'app/mailers/emails/profile.rb', line 7

def new_user_email(user_id, token = nil)
  @current_user = @user = User.find(user_id)
  @target_url = user_url(@user)
  @token = token
  email_with_layout(to: @user.notification_email_or_default, subject: subject("Account was created for you"))
end

#resource_access_tokens_about_to_expire_email(recipient, resource, token_names) ⇒ Object

rubocop: enable CodeReuse/ActiveRecord



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'app/mailers/emails/profile.rb', line 63

def resource_access_tokens_about_to_expire_email(recipient, resource, token_names)
  @user = recipient
  @token_names = token_names
  @days_to_expire = PersonalAccessToken::DAYS_TO_EXPIRE
  @resource = resource
  @target_url = if resource.is_a?(Group)
                  group_settings_access_tokens_url(resource)
                else
                  project_settings_access_tokens_url(resource)
                end

  mail_with_locale(
    to: recipient.notification_email_or_default,
    subject: subject(
      safe_format(
        _("Your resource access tokens will expire in %{days_to_expire} or less"),
        days_to_expire: pluralize(@days_to_expire, _('day'))
      )
    )
  )
end

#ssh_key_expired_email(user, fingerprints) ⇒ Object



143
144
145
146
147
148
149
150
151
# File 'app/mailers/emails/profile.rb', line 143

def ssh_key_expired_email(user, fingerprints)
  return unless user&.active?

  @user = user
  @fingerprints = fingerprints
  @target_url = profile_keys_url

  email_with_layout(to: @user.notification_email_or_default, subject: subject(_("Your SSH key has expired")))
end

#ssh_key_expiring_soon_email(user, fingerprints) ⇒ Object



153
154
155
156
157
158
159
160
161
# File 'app/mailers/emails/profile.rb', line 153

def ssh_key_expiring_soon_email(user, fingerprints)
  return unless user&.active?

  @user = user
  @fingerprints = fingerprints
  @target_url = profile_keys_url

  mail_with_locale(to: @user.notification_email_or_default, subject: subject(_("Your SSH key is expiring soon.")))
end

#two_factor_otp_attempt_failed_email(user, ip, time = Time.current) ⇒ Object



174
175
176
177
178
179
180
181
182
# File 'app/mailers/emails/profile.rb', line 174

def two_factor_otp_attempt_failed_email(user, ip, time = Time.current)
  @user = user
  @ip = ip
  @time = time

  email_with_layout(
    to: @user.notification_email_or_default,
    subject: subject(_("Attempted sign in to %{host} using an incorrect verification code") % { host: Gitlab.config.gitlab.host }))
end

#unknown_sign_in_email(user, ip, time) ⇒ Object



163
164
165
166
167
168
169
170
171
172
# File 'app/mailers/emails/profile.rb', line 163

def (user, ip, time)
  @user = user
  @ip = ip
  @time = time
  @target_url = edit_profile_password_url

  email_with_layout(
    to: @user.notification_email_or_default,
    subject: subject(_("%{host} sign-in from new location") % { host: Gitlab.config.gitlab.host }))
end

#user_admin_rejection_email(name, email) ⇒ Object



23
24
25
26
27
28
29
# File 'app/mailers/emails/profile.rb', line 23

def user_admin_rejection_email(name, email)
  @name = name

  email_with_layout(
    to: email,
    subject: subject(_("GitLab account request rejected")))
end

#user_deactivated_email(name, email) ⇒ Object



31
32
33
34
35
36
37
# File 'app/mailers/emails/profile.rb', line 31

def user_deactivated_email(name, email)
  @name = name

  email_with_layout(
    to: email,
    subject: subject(_('Your account has been deactivated')))
end