2018-11-20 20:47:30 +05:30
# frozen_string_literal: true
2014-09-02 18:07:02 +05:30
module Emails
module Profile
2015-04-26 12:48:37 +05:30
def new_user_email ( user_id , token = nil )
@current_user = @user = User . find ( user_id )
2014-09-02 18:07:02 +05:30
@target_url = user_url ( @user )
@token = token
2015-04-26 12:48:37 +05:30
mail ( to : @user . notification_email , subject : subject ( " Account was created for you " ) )
2014-09-02 18:07:02 +05:30
end
2021-01-29 00:20:46 +05:30
def instance_access_request_email ( user , recipient )
@user = user
@recipient = recipient
profile_email_with_layout (
to : recipient . notification_email ,
subject : subject ( _ ( " GitLab Account Request " ) ) )
end
2021-02-22 17:27:13 +05:30
def user_admin_rejection_email ( name , email )
@name = name
profile_email_with_layout (
to : email ,
subject : subject ( _ ( " GitLab account request rejected " ) ) )
end
2021-09-30 23:02:18 +05:30
def user_deactivated_email ( name , email )
@name = name
profile_email_with_layout (
to : email ,
subject : subject ( _ ( 'Your account has been deactivated' ) ) )
end
2018-12-05 23:21:45 +05:30
# rubocop: disable CodeReuse/ActiveRecord
2014-09-02 18:07:02 +05:30
def new_ssh_key_email ( key_id )
2017-09-10 17:25:29 +05:30
@key = Key . find_by ( id : key_id )
2016-06-02 11:05:42 +05:30
return unless @key
2015-04-26 12:48:37 +05:30
@current_user = @user = @key . user
2014-09-02 18:07:02 +05:30
@target_url = user_url ( @user )
2015-04-26 12:48:37 +05:30
mail ( to : @user . notification_email , subject : subject ( " SSH key was added to your account " ) )
2014-09-02 18:07:02 +05:30
end
2018-12-05 23:21:45 +05:30
# rubocop: enable CodeReuse/ActiveRecord
2017-09-10 17:25:29 +05:30
2018-12-05 23:21:45 +05:30
# rubocop: disable CodeReuse/ActiveRecord
2017-09-10 17:25:29 +05:30
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 ( to : @user . notification_email , subject : subject ( " GPG key was added to your account " ) )
end
2018-12-05 23:21:45 +05:30
# rubocop: enable CodeReuse/ActiveRecord
2020-01-01 13:55:28 +05:30
2021-04-17 20:07:23 +05:30
def access_token_about_to_expire_email ( user , token_names )
2020-01-01 13:55:28 +05:30
return unless user
@user = user
2021-04-17 20:07:23 +05:30
@token_names = token_names
2020-01-01 13:55:28 +05:30
@target_url = profile_personal_access_tokens_url
@days_to_expire = PersonalAccessToken :: DAYS_TO_EXPIRE
Gitlab :: I18n . with_locale ( @user . preferred_language ) do
2021-04-17 20:07:23 +05:30
mail ( to : @user . notification_email , subject : subject ( _ ( " Your personal access tokens will expire in %{days_to_expire} days or less " ) % { days_to_expire : @days_to_expire } ) )
2020-01-01 13:55:28 +05:30
end
end
2020-05-24 23:13:21 +05:30
2020-10-24 23:57:45 +05:30
def access_token_expired_email ( user )
return unless user && user . active?
@user = user
@target_url = profile_personal_access_tokens_url
Gitlab :: I18n . with_locale ( @user . preferred_language ) do
mail ( to : @user . notification_email , subject : subject ( _ ( " Your personal access token has expired " ) ) )
end
end
2021-04-29 21:17:54 +05:30
def ssh_key_expired_email ( user , fingerprints )
return unless user & . active?
@user = user
@fingerprints = fingerprints
@target_url = profile_keys_url
Gitlab :: I18n . with_locale ( @user . preferred_language ) do
mail ( to : @user . notification_email , subject : subject ( _ ( " Your SSH key has expired " ) ) )
end
end
def ssh_key_expiring_soon_email ( user , fingerprints )
return unless user & . active?
@user = user
@fingerprints = fingerprints
@target_url = profile_keys_url
Gitlab :: I18n . with_locale ( @user . preferred_language ) do
mail ( to : @user . notification_email , subject : subject ( _ ( " Your SSH key is expiring soon. " ) ) )
end
end
2020-06-23 00:09:42 +05:30
def unknown_sign_in_email ( user , ip , time )
2020-05-24 23:13:21 +05:30
@user = user
@ip = ip
2020-06-23 00:09:42 +05:30
@time = time
2020-05-24 23:13:21 +05:30
@target_url = edit_profile_password_url
Gitlab :: I18n . with_locale ( @user . preferred_language ) do
2021-01-29 00:20:46 +05:30
profile_email_with_layout (
2020-06-23 00:09:42 +05:30
to : @user . notification_email ,
2021-01-29 00:20:46 +05:30
subject : subject ( _ ( " %{host} sign-in from new location " ) % { host : Gitlab . config . gitlab . host } ) )
2020-05-24 23:13:21 +05:30
end
end
2020-11-24 15:15:51 +05:30
def disabled_two_factor_email ( user )
return unless user
@user = user
Gitlab :: I18n . with_locale ( @user . preferred_language ) do
mail ( to : @user . notification_email , subject : subject ( _ ( " Two-factor authentication disabled " ) ) )
end
end
2021-01-29 00:20:46 +05:30
private
def profile_email_with_layout ( to : , subject : , layout : 'mailer' )
mail ( to : to , subject : subject ) do | format |
format . html { render layout : layout }
format . text { render layout : layout }
end
end
2014-09-02 18:07:02 +05:30
end
end
2020-01-01 13:55:28 +05:30
2021-06-08 01:23:25 +05:30
Emails :: Profile . prepend_mod_with ( 'Emails::Profile' )