Module: Emails::Profile
Instance Method Summary collapse
- #access_token_about_to_expire_email(user, token_names, params = {}) ⇒ Object
- #access_token_created_email(user, token_name) ⇒ Object
- #access_token_expired_email(user, token_names = []) ⇒ Object
- #access_token_revoked_email(user, token_name, source = nil) ⇒ Object
- #access_token_rotated_email(user, token_name) ⇒ Object
-
#bot_resource_access_token_about_to_expire_email(recipient, resource, token_name, params = {}) ⇒ Object
resource owners are sent mail about expiring access tokens which belong to a bot user.
- #deploy_token_about_to_expire_email(user, token_name, project, params = {}) ⇒ Object
- #disabled_two_factor_email(user) ⇒ Object
- #disabled_two_factor_otp_email(user) ⇒ Object
- #disabled_two_factor_webauthn_email(user, device_name, type = :webauthn) ⇒ Object
- #enabled_two_factor_otp_email(user) ⇒ Object
- #enabled_two_factor_webauthn_email(user, device_name, type = :webauthn) ⇒ Object
- #instance_access_request_email(user, recipient) ⇒ Object
- #new_achievement_email(user, achievement) ⇒ Object
- #new_email_address_added_email(user, email) ⇒ Object
-
#new_gpg_key_email(gpg_key_id) ⇒ Object
rubocop: disable CodeReuse/ActiveRecord.
-
#new_ssh_key_email(key_id) ⇒ Object
rubocop: disable CodeReuse/ActiveRecord.
- #new_user_email(user_id, token = nil) ⇒ Object
- #ssh_key_expired_email(user, fingerprints) ⇒ Object
- #ssh_key_expiring_soon_email(user, fingerprints) ⇒ Object
- #two_factor_otp_attempt_failed_email(user, ip, time = Time.current) ⇒ Object
- #unknown_sign_in_email(user, ip, time, request_info = {}) ⇒ Object
- #user_admin_rejection_email(name, email) ⇒ Object
- #user_deactivated_email(name, email) ⇒ Object
Methods included from SafeFormatHelper
Instance Method Details
#access_token_about_to_expire_email(user, token_names, params = {}) ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'app/mailers/emails/profile.rb', line 105 def access_token_about_to_expire_email(user, token_names, params = {}) return unless user params = params.with_indifferent_access @user = user @token_names = token_names @target_url = user_settings_personal_access_tokens_url @days_to_expire = params.fetch(:days_to_expire, PersonalAccessToken::DAYS_TO_EXPIRE) email_with_layout( 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
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'app/mailers/emails/profile.rb', line 92 def access_token_created_email(user, token_name) return unless user&.active? @user = user @target_url = user_settings_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
125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'app/mailers/emails/profile.rb', line 125 def access_token_expired_email(user, token_names = []) return unless user && user.active? @user = user @token_names = token_names @target_url = user_settings_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
138 139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'app/mailers/emails/profile.rb', line 138 def access_token_revoked_email(user, token_name, source = nil) return unless user&.active? @user = user @token_name = token_name @target_url = user_settings_personal_access_tokens_url @source = source email_with_layout( to: @user.notification_email_or_default, subject: subject(_("Your personal access token has been revoked")) ) end |
#access_token_rotated_email(user, token_name) ⇒ Object
152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'app/mailers/emails/profile.rb', line 152 def access_token_rotated_email(user, token_name) return unless user&.active? @user = user @token_name = token_name @target_url = user_settings_personal_access_tokens_url email_with_layout( to: @user.notification_email_or_default, subject: subject(_("Your personal access token has been rotated")) ) end |
#bot_resource_access_token_about_to_expire_email(recipient, resource, token_name, params = {}) ⇒ Object
resource owners are sent mail about expiring access tokens which belong to a bot user
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'app/mailers/emails/profile.rb', line 67 def bot_resource_access_token_about_to_expire_email(recipient, resource, token_name, params = {}) params = params.with_indifferent_access @user = recipient @token_name = token_name @days_to_expire = params.fetch(:days_to_expire, PersonalAccessToken::DAYS_TO_EXPIRE) @resource = resource if resource.is_a?(Group) @target_url = group_settings_access_tokens_url(resource) @reason_text = _('You are receiving this email because you are an Owner of the Group.') else @target_url = project_settings_access_tokens_url(resource) @reason_text = _('You are receiving this email because you are either an Owner or Maintainer of the project.') end email_with_layout( 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 |
#deploy_token_about_to_expire_email(user, token_name, project, params = {}) ⇒ Object
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'app/mailers/emails/profile.rb', line 165 def deploy_token_about_to_expire_email(user, token_name, project, params = {}) params = params.with_indifferent_access @user = user @project = project @target_url = project_settings_repository_url(project, anchor: "js-deploy-tokens") @days_to_expire = params.fetch(:days_to_expire, DeployToken::DAYS_TO_EXPIRE) @token_name = token_name @user_role = project.team.owner?(user) ? _('an Owner') : _('a Maintainer') email_with_layout( to: @user.notification_email_or_default, subject: subject( _("Your deploy token will expire in %{days_to_expire} days or less") % { days_to_expire: @days_to_expire } ) ) end |
#disabled_two_factor_email(user) ⇒ Object
258 259 260 261 262 263 264 265 266 267 |
# File 'app/mailers/emails/profile.rb', line 258 def disabled_two_factor_email(user) return unless user @user = user email_with_layout( to: @user.notification_email_or_default, subject: subject(_("Two-factor authentication disabled")) ) end |
#disabled_two_factor_otp_email(user) ⇒ Object
269 270 271 272 273 274 275 276 277 278 |
# File 'app/mailers/emails/profile.rb', line 269 def disabled_two_factor_otp_email(user) return unless user @user = user email_with_layout( to: @user.notification_email_or_default, subject: subject(_("One-time password authenticator deleted")) ) end |
#disabled_two_factor_webauthn_email(user, device_name, type = :webauthn) ⇒ Object
280 281 282 283 284 285 286 287 288 289 290 291 |
# File 'app/mailers/emails/profile.rb', line 280 def disabled_two_factor_webauthn_email(user, device_name, type = :webauthn) return unless user @user = user @device_name = device_name @type = type email_with_layout( to: @user.notification_email_or_default, subject: subject(type == :webauthn ? _("WebAuthn device deleted") : _("Passkey deleted")) ) end |
#enabled_two_factor_otp_email(user) ⇒ Object
233 234 235 236 237 238 239 240 241 242 |
# File 'app/mailers/emails/profile.rb', line 233 def enabled_two_factor_otp_email(user) return unless user @user = user email_with_layout( to: @user.notification_email_or_default, subject: subject(_("One-time password authenticator registered")) ) end |
#enabled_two_factor_webauthn_email(user, device_name, type = :webauthn) ⇒ Object
244 245 246 247 248 249 250 251 252 253 254 255 256 |
# File 'app/mailers/emails/profile.rb', line 244 def enabled_two_factor_webauthn_email(user, device_name, type = :webauthn) return unless user @user = user @device_name = device_name @type = type email_with_layout( to: @user.notification_email_or_default, subject: subject( type == :webauthn ? _("WebAuthn device registered") : _("Passkey registered")) ) 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
302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 |
# File 'app/mailers/emails/profile.rb', line 302 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
293 294 295 296 297 298 299 300 |
# File 'app/mailers/emails/profile.rb', line 293 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
54 55 56 57 58 59 60 61 62 63 |
# File 'app/mailers/emails/profile.rb', line 54 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) email_with_layout(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
41 42 43 44 45 46 47 48 49 50 |
# File 'app/mailers/emails/profile.rb', line 41 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) email_with_layout(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 |
#ssh_key_expired_email(user, fingerprints) ⇒ Object
185 186 187 188 189 190 191 192 193 |
# File 'app/mailers/emails/profile.rb', line 185 def ssh_key_expired_email(user, fingerprints) return unless user&.active? @user = user @fingerprints = fingerprints @target_url = user_settings_ssh_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
195 196 197 198 199 200 201 202 203 |
# File 'app/mailers/emails/profile.rb', line 195 def ssh_key_expiring_soon_email(user, fingerprints) return unless user&.active? @user = user @fingerprints = fingerprints @target_url = user_settings_ssh_keys_url mail_with_locale(to: @user.notification_email_or_default, subject: subject(_("Your SSH key expires soon"))) end |
#two_factor_otp_attempt_failed_email(user, ip, time = Time.current) ⇒ Object
218 219 220 221 222 223 224 225 226 227 228 229 230 231 |
# File 'app/mailers/emails/profile.rb', line 218 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, request_info = {}) ⇒ Object
205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'app/mailers/emails/profile.rb', line 205 def unknown_sign_in_email(user, ip, time, request_info = {}) @user = user @ip = ip @city = request_info[:city] @country = request_info[:country] @time = time @target_url = edit_user_settings_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 38 |
# File 'app/mailers/emails/profile.rb', line 31 def user_deactivated_email(name, email) @name = name @host = Gitlab.config.gitlab.host email_with_layout( to: email, subject: subject(_('Your account has been deactivated'))) end |