From 93855957e62b7764f001a83a77419fdeb465326b Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 17 Jul 2019 18:06:21 +0200 Subject: [PATCH] fix(corrections): properly link corrector emails --- .../Handler/SendNotification/SubmissionRated.hs | 14 +++++++++++--- templates/correction-user.hamlet | 4 ++-- templates/mail/submissionRated.hamlet | 4 ++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Jobs/Handler/SendNotification/SubmissionRated.hs b/src/Jobs/Handler/SendNotification/SubmissionRated.hs index 75314e786..ff9a45f5a 100644 --- a/src/Jobs/Handler/SendNotification/SubmissionRated.hs +++ b/src/Jobs/Handler/SendNotification/SubmissionRated.hs @@ -7,8 +7,7 @@ module Jobs.Handler.SendNotification.SubmissionRated import Import import Utils.Lens -import Handler.Utils.DateTime -import Handler.Utils.Mail +import Handler.Utils import Jobs.Handler.SendNotification.Utils import Text.Hamlet @@ -23,6 +22,9 @@ dispatchNotificationSubmissionRated nSubmission jRecipient = userMailT jRecipien course <- belongsToJust sheetCourse sheet corrector <- traverse getJust submissionRatingBy return (course, sheet, submission, corrector) + + whenIsJust corrector $ \corrector' -> + addMailHeader "Reply-To" . renderAddress $ userAddress corrector' replaceMailHeader "Auto-Submitted" $ Just "auto-generated" setSubjectI $ MsgMailSubjectSubmissionRated courseShorthand @@ -45,7 +47,13 @@ dispatchNotificationSubmissionRated nSubmission jRecipient = userMailT jRecipien , "submission-rating-points" Aeson..= (guard (sheetType /= NotGraded) *> submissionRatingPoints) , "submission-rating-comment" Aeson..= submissionRatingComment , "submission-rating-time" Aeson..= submissionRatingTime - , "submission-rating-by" Aeson..= (userDisplayName <$> corrector) + , (Aeson..=) "submission-rating-by" $ do + corrector' <- corrector + return $ Aeson.object + [ "display-name" Aeson..= userDisplayName corrector' + , "surname" Aeson..= userSurname corrector' + , "email" Aeson..= userEmail corrector' + ] , "submission-rating-passed" Aeson..= join (gradingPassed <$> sheetType ^? _grading <*> submissionRatingPoints) , "sheet-name" Aeson..= sheetName , "sheet-type" Aeson..= sheetType diff --git a/templates/correction-user.hamlet b/templates/correction-user.hamlet index 78a4533b2..252b9d046 100644 --- a/templates/correction-user.hamlet +++ b/templates/correction-user.hamlet @@ -3,10 +3,10 @@ _{MsgSubmission} #{cid} - $maybe Entity _ User{userDisplayName} <- corrector + $maybe Entity _ User{userDisplayName, userSurname, userEmail} <- corrector _{MsgRatingBy} - #{userDisplayName} + ^{nameEmailWidget userEmail userDisplayName userSurname} $maybe time <- submissionRatingTime _{MsgRatingTime} diff --git a/templates/mail/submissionRated.hamlet b/templates/mail/submissionRated.hamlet index 51f675e70..e21c3f5b1 100644 --- a/templates/mail/submissionRated.hamlet +++ b/templates/mail/submissionRated.hamlet @@ -23,11 +23,11 @@ $newline never
#{csid} - $maybe User{userDisplayName} <- corrector + $maybe User{userDisplayName, userSurname, userEmail} <- corrector
_{MsgRatingBy}
- #{userDisplayName} + #{nameEmailHtml userEmail userDisplayName userSurname} $maybe time <- submissionRatingTime'
_{MsgRatingTime}