forked from External/greenlight
GRN2-180: First stages of refactoring code for v2.4 (#748)
* Email rescues and authenticator concern * Application controller and helper clean up * Moved controller code out of helpers * More helper and email clean up * Cleaned up remaining helpers and create omniauth_options * Controller code clean up * restructured views structure * Restructured role code * Restructured profile and code clean up * Master merge * Added bbb server concern to deal with bbb calls * Bug fixes and changes after changes * rspec * More rubocop fixes
This commit is contained in:
@ -21,69 +21,110 @@ module Emailer
|
||||
|
||||
# Sends account activation email.
|
||||
def send_activation_email(user)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
@user = user
|
||||
UserMailer.verify_email(@user, user_verification_link, logo_image, user_color).deliver
|
||||
UserMailer.verify_email(user, user_verification_link(user), @settings).deliver
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
else
|
||||
flash[:success] = I18n.t("email_sent", email_type: t("verify.verification"))
|
||||
end
|
||||
end
|
||||
|
||||
# Sends password reset email.
|
||||
def send_password_reset_email(user)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
@user = user
|
||||
UserMailer.password_reset(@user, reset_link, logo_image, user_color).deliver_now
|
||||
UserMailer.password_reset(user, reset_link(user), @settings).deliver_now
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
else
|
||||
flash[:success] = I18n.t("email_sent", email_type: t("reset_password.subtitle"))
|
||||
end
|
||||
end
|
||||
|
||||
def send_user_promoted_email(user, role)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
UserMailer.user_promoted(user, role, root_url, logo_image, user_color).deliver_now
|
||||
UserMailer.user_promoted(user, role, root_url, @settings).deliver_now
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
end
|
||||
end
|
||||
|
||||
def send_user_demoted_email(user, role)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
UserMailer.user_demoted(user, role, root_url, logo_image, user_color).deliver_now
|
||||
UserMailer.user_demoted(user, role, root_url, @settings).deliver_now
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
end
|
||||
end
|
||||
|
||||
# Sends inivitation to join
|
||||
def send_invitation_email(name, email, token)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
@token = token
|
||||
UserMailer.invite_email(name, email, invitation_link, logo_image, user_color).deliver_now
|
||||
UserMailer.invite_email(name, email, invitation_link(token), @settings).deliver_now
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
else
|
||||
flash[:success] = I18n.t("administrator.flash.invite", email: email)
|
||||
end
|
||||
end
|
||||
|
||||
def send_user_approved_email(user)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
UserMailer.approve_user(user, root_url, logo_image, user_color).deliver_now
|
||||
UserMailer.approve_user(user, root_url, @settings).deliver_now
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
else
|
||||
flash[:success] = I18n.t("email_sent", email_type: t("verify.verification"))
|
||||
end
|
||||
end
|
||||
|
||||
def send_approval_user_signup_email(user)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
admin_emails = admin_emails()
|
||||
unless admin_emails.empty?
|
||||
UserMailer.approval_user_signup(user, admins_url, logo_image, user_color, admin_emails).deliver_now
|
||||
admin_emails = admin_emails()
|
||||
UserMailer.approval_user_signup(user, admins_url, admin_emails, @settings).deliver_now unless admin_emails.empty?
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
end
|
||||
end
|
||||
|
||||
def send_invite_user_signup_email(user)
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
admin_emails = admin_emails()
|
||||
unless admin_emails.empty?
|
||||
UserMailer.invite_user_signup(user, admins_url, logo_image, user_color, admin_emails).deliver_now
|
||||
admin_emails = admin_emails()
|
||||
UserMailer.invite_user_signup(user, admins_url, admin_emails, @settings).deliver_now unless admin_emails.empty?
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Returns the link the user needs to click to verify their account
|
||||
def user_verification_link
|
||||
edit_account_activation_url(token: @user.activation_token, email: @user.email)
|
||||
def user_verification_link(user)
|
||||
edit_account_activation_url(token: user.activation_token, email: user.email)
|
||||
end
|
||||
|
||||
def admin_emails
|
||||
@ -91,21 +132,21 @@ module Emailer
|
||||
|
||||
if Rails.configuration.loadbalanced_configuration
|
||||
admins = admins.without_role(:super_admin)
|
||||
.where(provider: user_settings_provider)
|
||||
.where(provider: @user_domain)
|
||||
end
|
||||
|
||||
admins.collect(&:email).join(",")
|
||||
end
|
||||
|
||||
def reset_link
|
||||
edit_password_reset_url(@user.reset_token, email: @user.email)
|
||||
def reset_link(user)
|
||||
edit_password_reset_url(user.reset_token, email: user.email)
|
||||
end
|
||||
|
||||
def invitation_link
|
||||
if allow_greenlight_users?
|
||||
signup_url(invite_token: @token)
|
||||
def invitation_link(token)
|
||||
if allow_greenlight_accounts?
|
||||
signup_url(invite_token: token)
|
||||
else
|
||||
root_url(invite_token: @token)
|
||||
root_url(invite_token: token)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user