diff --git a/messages/uniworx/de-de-formal.msg b/messages/uniworx/de-de-formal.msg index 262b980c6..e2116f2b8 100644 --- a/messages/uniworx/de-de-formal.msg +++ b/messages/uniworx/de-de-formal.msg @@ -947,7 +947,9 @@ MailSubmissionsUnassignedIntro n@Int courseName@Text termDesc@Text sheetName@She MailSubjectSheetSoonInactive csh@CourseShorthand sheetName@SheetName: #{sheetName} in #{csh} kann nur noch kurze Zeit abgegeben werden MailSheetSoonInactiveIntro courseName@Text termDesc@Text sheetName@SheetName: Abgabefrist für #{sheetName} im Kurs #{courseName} (#{termDesc}) endet in Kürze. MailSubjectSheetInactive csh@CourseShorthand sheetName@SheetName: Abgabezeitraum für #{sheetName} in #{csh} abgelaufen -MailSheetInactiveIntro courseName@Text termDesc@Text sheetName@SheetName n@Int num@Int64: Die Abgabefrist für #{sheetName} im Kurs #{courseName} (#{termDesc}) beendet. Es gab #{noneOneMoreDE n "Keine Abgaben" "Nur eine Abgabe von " (toMessage n <> " Abgaben von ")}#{noneOneMoreDE num "" "einem Teilnehmer" (toMessage num <> " Teilnehmern")}. +MailSheetInactiveIntro courseName@Text termDesc@Text sheetName@SheetName n@Int num@Int64: Die Abgabefrist für #{sheetName} im Kurs #{courseName} (#{termDesc}) ist beendet. Es gab #{noneOneMoreDE n "Keine Abgaben" "Nur eine Abgabe von " (toMessage n <> " Abgaben von ")}#{noneOneMoreDE num "" "einem Teilnehmer" (toMessage num <> " Teilnehmern")}. +MailSheetInactiveIntroNoUserSubmission courseName@Text termDesc@Text sheetName@SheetName n@Int num@Int64: Die Abgabefrist für #{sheetName} im Kurs #{courseName} (#{termDesc}) ist beendet.#{noneOneMoreDE n "" "Es gab bereits eine Abgabe von " (("Es gab bereits " <> toMessage n) <> " Abgaben von ")}#{noneOneMoreDE num "" "einem Teilnehmer" (toMessage num <> " Teilnehmern")}. +MailSheetInactivePseudonymsCount num@Int64: Die Anzahl von Abgaben betrifft nur jene, die bereits direkt in Uni2work abgegeben haben. Es #{pluralDE num (("wurde " <> tshow num) <> " Pseudonym") (("wurden " <> tshow num) <> " Pseudonyme")} generiert. MailSubjectCorrectionsAssigned csh@CourseShorthand sheetName@SheetName: Ihnen wurden Korrekturen zu #{sheetName} in #{csh} zugeteilt MailCorrectionsAssignedIntro courseName@Text termDesc@Text sheetName@SheetName n@Int: #{n} #{pluralDE n "Abgabe wurde" "Abgaben wurden"} Ihnen zur Korrektur für #{sheetName} im Kurs #{courseName} (#{termDesc}) zugeteilt. diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index 8d4e16957..bddb0430d 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -948,6 +948,8 @@ MailSubjectSheetSoonInactive csh sheetName: The submission period for #{sheetNam MailSheetSoonInactiveIntro courseName termDesc sheetName: Soon you will no longer be allowed to submit for #{sheetName} of the course #{courseName} (#{termDesc}). MailSubjectSheetInactive csh sheetName: The submission period for #{sheetName} of #{csh} has ended MailSheetInactiveIntro courseName termDesc sheetName n num: The submission period for #{sheetName} of the course #{courseName} (#{termDesc}) has ended. #{noneOneMoreEN num "" "One participant" (toMessage num <> " participants")}#{noneOneMoreEN n "" "" (" made " <> toMessage num)}#{noneOneMoreEN n "There were no submissions" " made one submission" " submissions"}. +MailSheetInactiveIntroNoUserSubmission courseName termDesc sheetName n num: The submission period for #{sheetName} of the course #{courseName} (#{termDesc}) has ended. #{noneOneMoreEN num "" "One participant already" (toMessage num <> " participants already")}#{noneOneMoreEN n "" "" (" made " <> toMessage num)}#{noneOneMoreEN n "" " made one submission" " submissions"}. +MailSheetInactivePseudonymsCount num: The number of submissions above accounts only for the submissions already made directly in Uni2work. #{num} #{pluralEN num "pseudonym was" "pseudonyms were"} generated. MailSubjectCorrectionsAssigned csh sheetName: You were assigned corrections for #{sheetName} of #{csh} MailCorrectionsAssignedIntro courseName termDesc sheetName n: You were assigned #{n} #{pluralEN n "correction" "corrections"} for #{sheetName} of #{courseName} (#{termDesc}). diff --git a/src/Jobs/Handler/SendNotification/SheetInactive.hs b/src/Jobs/Handler/SendNotification/SheetInactive.hs index d00ea2fba..6ea533168 100644 --- a/src/Jobs/Handler/SendNotification/SheetInactive.hs +++ b/src/Jobs/Handler/SendNotification/SheetInactive.hs @@ -37,7 +37,7 @@ dispatchNotificationSheetSoonInactive nSheet jRecipient = userMailT jRecipient $ dispatchNotificationSheetInactive :: SheetId -> UserId -> Handler () dispatchNotificationSheetInactive nSheet jRecipient = userMailT jRecipient $ do - (Course{..}, Sheet{..}, nrSubs, nrSubmitters) <- liftHandler . runDB $ do + (Course{..}, Sheet{..}, nrSubs, nrSubmitters, nrPseudonyms, nrParticipants) <- liftHandler . runDB $ do sheet <- getJust nSheet course <- belongsToJust sheetCourse sheet nrSubs <- count [SubmissionSheet ==. nSheet] @@ -46,7 +46,9 @@ dispatchNotificationSheetInactive nSheet jRecipient = userMailT jRecipient $ do E.where_ $ submission E.^. SubmissionSheet E.==. E.val nSheet -- E.distinctOn [E.don (subUser E.^. SubmissionUserUser)] -- Not necessary due to UniqueSubmisionUser return (E.countRows :: E.SqlExpr (E.Value Int64)) - return (course, sheet, nrSubs, nrSubmitters) + nrPseudonyms <- count [SheetPseudonymSheet ==. nSheet] + nrParticipants <- count [CourseParticipantCourse ==. sheetCourse, CourseParticipantState ==. CourseParticipantActive] + return (course, sheet, nrSubs, nrSubmitters, nrPseudonyms, nrParticipants) replaceMailHeader "Auto-Submitted" $ Just "auto-generated" setSubjectI $ MsgMailSubjectSheetInactive courseShorthand sheetName diff --git a/templates/mail/sheetInactive.hamlet b/templates/mail/sheetInactive.hamlet index 0a5721845..225eae665 100644 --- a/templates/mail/sheetInactive.hamlet +++ b/templates/mail/sheetInactive.hamlet @@ -11,8 +11,16 @@ $newline never }

- _{MsgMailSheetInactiveIntro (CI.original courseName) termDesc sheetName nrSubs nrSubmitters} + $if is _Just (submissionModeUser sheetSubmissionMode) + _{MsgMailSheetInactiveIntro (CI.original courseName) termDesc sheetName nrSubs nrSubmitters} + $else + _{MsgMailSheetInactiveIntroNoUserSubmission (CI.original courseName) termDesc sheetName nrSubs nrSubmitters} + $if submissionModeCorrector sheetSubmissionMode +

+ _{MsgMailSheetInactivePseudonymsCount nrPseudonyms} +

+ _{MsgMailSheetInactiveParticipantsCount nrParticipants}

#{sheetName} - ^{editNotifications} \ No newline at end of file + ^{editNotifications}