68 lines
2.7 KiB
Ruby
68 lines
2.7 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class UserMailer < ApplicationMailer
|
|
def mail(*args)
|
|
# used to prevent the delivery to pseudonymous users without a valid email address
|
|
super if args.first[:to].present?
|
|
end
|
|
|
|
def activation_needed_email(user)
|
|
@activation_url = activate_internal_user_url(user, token: user.activation_token)
|
|
mail(subject: t('mailers.user_mailer.activation_needed.subject'), to: user.email)
|
|
end
|
|
|
|
def activation_success_email(*); end
|
|
|
|
def reset_password_email(user)
|
|
@reset_password_url = reset_password_internal_user_url(user, token: user.reset_password_token)
|
|
mail(subject: t('mailers.user_mailer.reset_password.subject'), to: user.email)
|
|
end
|
|
|
|
def got_new_comment(comment, request_for_comment, commenting_user)
|
|
# TODO: check whether we can take the last known locale of the receiver?
|
|
@receiver_displayname = request_for_comment.user.displayname
|
|
@commenting_user_displayname = commenting_user.displayname
|
|
@comment_text = comment.text
|
|
@rfc_link = request_for_comment_url(request_for_comment)
|
|
mail(
|
|
subject: t('mailers.user_mailer.got_new_comment.subject',
|
|
commenting_user_displayname: @commenting_user_displayname), to: request_for_comment.user.email
|
|
)
|
|
end
|
|
|
|
def got_new_comment_for_subscription(comment, subscription, from_user)
|
|
@receiver_displayname = subscription.user.displayname
|
|
@author_displayname = from_user.displayname
|
|
@comment_text = comment.text
|
|
@rfc_link = request_for_comment_url(subscription.request_for_comment)
|
|
@unsubscribe_link = unsubscribe_subscription_url(subscription)
|
|
mail(
|
|
subject: t('mailers.user_mailer.got_new_comment_for_subscription.subject',
|
|
author_displayname: @author_displayname), to: subscription.user.email
|
|
)
|
|
end
|
|
|
|
def send_thank_you_note(request_for_comments, receiver)
|
|
@receiver_displayname = receiver.displayname
|
|
@author = request_for_comments.user.displayname
|
|
@thank_you_note = request_for_comments.thank_you_note
|
|
@rfc_link = request_for_comment_url(request_for_comments)
|
|
mail(subject: t('mailers.user_mailer.send_thank_you_note.subject', author: @author), to: receiver.email)
|
|
end
|
|
|
|
def exercise_anomaly_detected(exercise_collection, anomalies)
|
|
@user = exercise_collection.user
|
|
@receiver_displayname = exercise_collection.user.displayname
|
|
@collection = exercise_collection
|
|
@anomalies = anomalies
|
|
mail(subject: t('mailers.user_mailer.exercise_anomaly_detected.subject'), to: exercise_collection.user.email)
|
|
end
|
|
|
|
def exercise_anomaly_needs_feedback(user, exercise, link)
|
|
@receiver_displayname = user.displayname
|
|
@exercise_title = exercise.title
|
|
@link = link
|
|
mail(subject: t('mailers.user_mailer.exercise_anomaly_needs_feedback.subject'), to: user.email)
|
|
end
|
|
end
|