From fb399b8ef0fba34ee4ccdee4316c0c8cda3b1fc2 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Tue, 20 Dec 2022 17:58:25 +0100 Subject: [PATCH 1/5] chore(release): 27.0.2 --- CHANGELOG.md | 7 +++++++ nix/docker/demo-version.json | 2 +- nix/docker/version.json | 2 +- package-lock.json | 2 +- package.json | 2 +- package.yaml | 2 +- 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd1711c75..b6ab46293 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [27.0.2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.0.1...v27.0.2) (2022-12-20) + + +### Bug Fixes + +* **mail:** fix various minor email attachment problems ([90a5f07](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/90a5f07c0412c6820f935b483db8645bcefba160)) + ## [27.0.1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.0.0...v27.0.1) (2022-12-15) diff --git a/nix/docker/demo-version.json b/nix/docker/demo-version.json index 0deff9580..833c22a00 100644 --- a/nix/docker/demo-version.json +++ b/nix/docker/demo-version.json @@ -1,3 +1,3 @@ { - "version": "27.0.1" + "version": "27.0.2" } diff --git a/nix/docker/version.json b/nix/docker/version.json index 0deff9580..833c22a00 100644 --- a/nix/docker/version.json +++ b/nix/docker/version.json @@ -1,3 +1,3 @@ { - "version": "27.0.1" + "version": "27.0.2" } diff --git a/package-lock.json b/package-lock.json index 8441130e5..8920a95c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "uni2work", - "version": "27.0.1", + "version": "27.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 68e0bc498..28c0f53ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uni2work", - "version": "27.0.1", + "version": "27.0.2", "description": "", "keywords": [], "author": "", diff --git a/package.yaml b/package.yaml index 1ecd0c62f..3b8c3a367 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: uniworx -version: 27.0.1 +version: 27.0.2 dependencies: - base - yesod From 38e47a2e99baae6e79d48d55b63eadea577a3b10 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Wed, 21 Dec 2022 16:03:53 +0100 Subject: [PATCH 2/5] chore(mail): fix various typos and formatting problems --- config/settings.yml | 4 ++-- src/Handler/Utils/Mail.hs | 21 +++++++++------------ src/Utils/Print.hs | 21 +++++++++++++++------ templates/letter/fraport_renewal.md | 20 ++++++++++---------- 4 files changed, 36 insertions(+), 30 deletions(-) diff --git a/config/settings.yml b/config/settings.yml index 8b5c96e54..ae3981092 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -268,8 +268,8 @@ user-defaults: max-favourites: 0 max-favourite-terms: 2 theme: Default - date-time-format: "%a %d %b %Y %R" - date-format: "%a %d %b %Y" + date-time-format: "%d %b %y %R" + date-format: "%d %b %Y" time-format: "%R" download-files: false warning-days: 1209600 diff --git a/src/Handler/Utils/Mail.hs b/src/Handler/Utils/Mail.hs index 81d200698..9abab840e 100644 --- a/src/Handler/Utils/Mail.hs +++ b/src/Handler/Utils/Mail.hs @@ -26,6 +26,7 @@ import qualified Text.Pandoc as P import qualified Text.Hamlet as Hamlet import qualified Text.Shakespeare as Shakespeare (RenderUrl) +import qualified Text.Blaze.Html5 as H addRecipientsDB :: ( MonadMail m , HandlerSite m ~ UniWorX @@ -60,8 +61,7 @@ userMailT uid mAct = do (underling, receivers, undercopy) <- liftHandler . runDB $ getReceivers uid let undername = underling ^. _userDisplayName -- nameHtml' underling undermail = CI.original $ underling ^. _userEmail - infoSupervised :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet| - + infoSupervised :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|

_{MsgMailSupervisedNote}

_{MsgMailSupervisedBody} @@ -88,14 +88,10 @@ userMailT uid mAct = do , mcCsvOptions = userCsvOptions } supername = supervisor ^. _userDisplayName -- nameHtml' supervisor - infoSupervisor :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet| - + infoSupervisor :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|

_{MsgMailSupervisorNote}

- _{MsgMailSupervisorBody undername supername} # - - FRADrive - . # + _{MsgMailSupervisorBody undername supername} FRADrive. # $if undercopy _{MsgMailSupervisorCopy undermail} $else @@ -190,7 +186,7 @@ addHtmlMarkdownAlternatives html' = do where writerOptions = markdownWriterOptions { P.writerReferenceLinks = True - , P.writerPreferAscii = True + , P.writerPreferAscii = False } -- | Like @addHtmlMarkdownAlternatives, but adds subseqeunt parts with "content-disposition: inline" and the provided filename, if inline display is not permitted (receiver's choice) @@ -200,13 +196,14 @@ addHtmlMarkdownAlternatives' :: ( MonadMail m ) => Text -> a -> m () addHtmlMarkdownAlternatives' fn html' = do html <- toMailHtml html' - markdown <- runMaybeT $ renderMarkdownWith htmlReaderOptions writerOptions html + markdown <- runMaybeT $ renderMarkdownWith htmlReaderOptions writerOptions html addAlternatives $ do - providePreferredAlternative $ NamedMailPart { disposition = InlineDisposition $ fn <> ".html", namedPart = html } + let html_meta = H.head $ H.preEscapedText "" -- this is probably not the correct way to do this + providePreferredAlternative $ NamedMailPart { disposition = InlineDisposition $ fn <> ".html", namedPart = html_meta <> html } whenIsJust markdown $ provideAlternative . NamedMailPart (InlineDisposition (fn <> ".txt")) where writerOptions = markdownWriterOptions { P.writerReferenceLinks = True - , P.writerPreferAscii = True + , P.writerPreferAscii = False } diff --git a/src/Utils/Print.hs b/src/Utils/Print.hs index 56ca0af3e..84225969c 100644 --- a/src/Utils/Print.hs +++ b/src/Utils/Print.hs @@ -427,12 +427,21 @@ sendEmailOrLetter recipient letter = do let (preferPost, postal) = getPostalPreferenceAndAddress rcvrUsr isSupervised = recipient /= svr lang = selectDeEn $ rcvrUsr & userLanguages -- select either German or English only, default de; see Utils.Lang - lMeta = letterMeta letter lang formatter <> mkMeta - [ toMeta "lang" lang - , toMeta "date" $ format SelFormatDate now - , toMeta "address" $ fromMaybe [rcvrUsr & userDisplayName] postal - , mbMeta "supervisor" $ toMaybe isSupervised (rcvrUsr & userDisplayName) - ] + lMeta = letterMeta letter lang formatter <> mkMeta ( + ( if isSupervised + then + [ toMeta "supervisor" (rcvrUsr & userDisplayName) + , toMeta "de-opening" ("Sehr geehrte Damen und Herren,"::Text) + , toMeta "en-opening" ("Dear supervisor,"::Text) + ] + else [] + ) <> + [ toMeta "lang" lang + , toMeta "date" $ format SelFormatDate now + , toMeta "address" $ fromMaybe [rcvrUsr & userDisplayName] postal + ] + ) + pdfLetter tmpl lMeta >>= \case _ | preferPost, isNothing postal -> do -- neither email nor postal is known encRecipient :: CryptoUUIDUser <- encrypt svr diff --git a/templates/letter/fraport_renewal.md b/templates/letter/fraport_renewal.md index c2240db34..0aaffd02d 100644 --- a/templates/letter/fraport_renewal.md +++ b/templates/letter/fraport_renewal.md @@ -9,7 +9,7 @@ email: fahrerausbildung@fraport.de place: Frankfurt am Main return-address: - 60547 Frankfurt -de-opening: Liebe Fahrer, +de-opening: Liebe Fahrberechtigungsinhaber, en-opening: Dear driver, de-closing: | Mit freundlichen Grüßen, @@ -67,12 +67,12 @@ $endif$ verlängert werden. $if(supervisor)$ Ansprechpartner werden gebeten, die Login-Daten aus dem geschützen Sichtfenster weiter unten - vertraulich an den Prüfling weiterzuleiten. + vertraulich an den Fahrberechtigungsinhaber weiterzuleiten. $else$ Dazu bitte die Login-Daten aus dem geschützen Sichtfenster weiter unten verwenden. $endif$ -Prüfling +Fahrberechtigungsinhaber : $examinee$ @@ -85,8 +85,9 @@ URL : [$url-text$]($url$) -Sobald die Frist abgelaufen ist, muss zur Wiedererlangung der Fahrberechtigung "F" -erneut der komplette Grundkurs bei der Fahrerausbildung absolviert werden. +Sollte bis zum Ablaufdatum das E-Learning nicht erfolgreich abgeschlossen sein, muss +zur Wiedererlangung der Fahrberechtigung "F" erneut ein Grundkurs +bei der Fahrerausbildung absolviert werden. Bei Fragen können Sie sich gerne an das Team der Fahrerausbildung wenden. @@ -94,12 +95,11 @@ Bei Fragen können Sie sich gerne an das Team der Fahrerausbildung wenden. $else$ - $if(supervisor)$ - the apron diving license of $examinee$ + the apron diving license of $examinee$ $else$ - your apron diving license -$endif$ + your apron diving license +$endif$ is about to expire soon. The validity may be extended $if(validduration)$ @@ -124,7 +124,7 @@ Expiry URL - :[$url-text$]($url$) + : [$url-text$]($url$) Should the apron driving license expire before completing this From 473cc57727a669bdc43d303b8ad61915c8b27553 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Wed, 21 Dec 2022 16:23:43 +0100 Subject: [PATCH 3/5] chore(mail): fix html meta head --- src/Handler/Utils/Mail.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Handler/Utils/Mail.hs b/src/Handler/Utils/Mail.hs index 9abab840e..e0b13af8c 100644 --- a/src/Handler/Utils/Mail.hs +++ b/src/Handler/Utils/Mail.hs @@ -26,7 +26,7 @@ import qualified Text.Pandoc as P import qualified Text.Hamlet as Hamlet import qualified Text.Shakespeare as Shakespeare (RenderUrl) -import qualified Text.Blaze.Html5 as H +-- import qualified Text.Blaze.Html5 as H addRecipientsDB :: ( MonadMail m , HandlerSite m ~ UniWorX @@ -199,7 +199,12 @@ addHtmlMarkdownAlternatives' fn html' = do markdown <- runMaybeT $ renderMarkdownWith htmlReaderOptions writerOptions html addAlternatives $ do - let html_meta = H.head $ H.preEscapedText "" -- this is probably not the correct way to do this + --let html_meta = H.head $ H.preEscapedText "" -- this is probably not the correct way to do this + let html_meta = [shamlet| + $doctype 5 + + + |] providePreferredAlternative $ NamedMailPart { disposition = InlineDisposition $ fn <> ".html", namedPart = html_meta <> html } whenIsJust markdown $ provideAlternative . NamedMailPart (InlineDisposition (fn <> ".txt")) where From fca52aa7e6d7987ca9e46e035748d1becff8c50b Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Wed, 21 Dec 2022 16:38:59 +0100 Subject: [PATCH 4/5] chore(mail): fix html meta head, 2nd attempt --- src/Handler/Utils/Mail.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Handler/Utils/Mail.hs b/src/Handler/Utils/Mail.hs index e0b13af8c..c4b9fbf7d 100644 --- a/src/Handler/Utils/Mail.hs +++ b/src/Handler/Utils/Mail.hs @@ -202,10 +202,13 @@ addHtmlMarkdownAlternatives' fn html' = do --let html_meta = H.head $ H.preEscapedText "" -- this is probably not the correct way to do this let html_meta = [shamlet| $doctype 5 - - + + + + + ^{html} |] - providePreferredAlternative $ NamedMailPart { disposition = InlineDisposition $ fn <> ".html", namedPart = html_meta <> html } + providePreferredAlternative $ NamedMailPart { disposition = InlineDisposition $ fn <> ".html", namedPart = html_meta } whenIsJust markdown $ provideAlternative . NamedMailPart (InlineDisposition (fn <> ".txt")) where writerOptions = markdownWriterOptions From 8a9d432a23574f5eeb931430e7baea6954888cf1 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Wed, 21 Dec 2022 16:43:33 +0100 Subject: [PATCH 5/5] chore(mail): fix html meta head, 3rd attempt --- src/Handler/Utils/Mail.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Handler/Utils/Mail.hs b/src/Handler/Utils/Mail.hs index c4b9fbf7d..a79d0bce0 100644 --- a/src/Handler/Utils/Mail.hs +++ b/src/Handler/Utils/Mail.hs @@ -205,6 +205,8 @@ addHtmlMarkdownAlternatives' fn html' = do + + #{fn} <body> ^{html} |]