Merge branch 'master' into fradrive/api-avs

This commit is contained in:
Steffen Jost 2022-12-22 09:06:17 +01:00
commit cb94586265
10 changed files with 58 additions and 35 deletions

View File

@ -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)

View File

@ -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

View File

@ -1,3 +1,3 @@
{
"version": "27.0.1"
"version": "27.0.2"
}

View File

@ -1,3 +1,3 @@
{
"version": "27.0.1"
"version": "27.0.2"
}

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "uni2work",
"version": "27.0.1",
"version": "27.0.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "uni2work",
"version": "27.0.1",
"version": "27.0.2",
"description": "",
"keywords": [],
"author": "",

View File

@ -1,5 +1,5 @@
name: uniworx
version: 27.0.1
version: 27.0.2
dependencies:
- base
- yesod

View File

@ -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|
<meta charset="utf-8">
infoSupervised :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
<h2>_{MsgMailSupervisedNote}
<p>
_{MsgMailSupervisedBody}
@ -88,14 +88,10 @@ userMailT uid mAct = do
, mcCsvOptions = userCsvOptions
}
supername = supervisor ^. _userDisplayName -- nameHtml' supervisor
infoSupervisor :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
<meta charset="utf-8">
infoSupervisor :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
<h2>_{MsgMailSupervisorNote}
<p>
_{MsgMailSupervisorBody undername supername} #
<a href=@{NewsR}>
FRADrive
. #
_{MsgMailSupervisorBody undername supername} <a href=@{NewsR}>FRADrive</a>. #
$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,24 @@ 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 "<meta charset=\"utf-8\">" -- this is probably not the correct way to do this
let html_meta = [shamlet|
$doctype 5
<html>
<head>
<meta charset="utf-8">
<title>
#{fn}
<body>
^{html}
|]
providePreferredAlternative $ NamedMailPart { disposition = InlineDisposition $ fn <> ".html", namedPart = html_meta }
whenIsJust markdown $ provideAlternative . NamedMailPart (InlineDisposition (fn <> ".txt"))
where
writerOptions = markdownWriterOptions
{ P.writerReferenceLinks = True
, P.writerPreferAscii = True
, P.writerPreferAscii = False
}

View File

@ -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

View File

@ -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$
<!-- englische Version des Briefes -->
$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