Merge branch 'master' into fradrive/api-avs
This commit is contained in:
commit
cb94586265
@ -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.
|
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)
|
## [27.0.1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.0.0...v27.0.1) (2022-12-15)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -268,8 +268,8 @@ user-defaults:
|
|||||||
max-favourites: 0
|
max-favourites: 0
|
||||||
max-favourite-terms: 2
|
max-favourite-terms: 2
|
||||||
theme: Default
|
theme: Default
|
||||||
date-time-format: "%a %d %b %Y %R"
|
date-time-format: "%d %b %y %R"
|
||||||
date-format: "%a %d %b %Y"
|
date-format: "%d %b %Y"
|
||||||
time-format: "%R"
|
time-format: "%R"
|
||||||
download-files: false
|
download-files: false
|
||||||
warning-days: 1209600
|
warning-days: 1209600
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "27.0.1"
|
"version": "27.0.2"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "27.0.1"
|
"version": "27.0.2"
|
||||||
}
|
}
|
||||||
|
|||||||
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "uni2work",
|
"name": "uni2work",
|
||||||
"version": "27.0.1",
|
"version": "27.0.2",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "uni2work",
|
"name": "uni2work",
|
||||||
"version": "27.0.1",
|
"version": "27.0.2",
|
||||||
"description": "",
|
"description": "",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: uniworx
|
name: uniworx
|
||||||
version: 27.0.1
|
version: 27.0.2
|
||||||
dependencies:
|
dependencies:
|
||||||
- base
|
- base
|
||||||
- yesod
|
- yesod
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import qualified Text.Pandoc as P
|
|||||||
import qualified Text.Hamlet as Hamlet
|
import qualified Text.Hamlet as Hamlet
|
||||||
import qualified Text.Shakespeare as Shakespeare (RenderUrl)
|
import qualified Text.Shakespeare as Shakespeare (RenderUrl)
|
||||||
|
|
||||||
|
-- import qualified Text.Blaze.Html5 as H
|
||||||
|
|
||||||
addRecipientsDB :: ( MonadMail m
|
addRecipientsDB :: ( MonadMail m
|
||||||
, HandlerSite m ~ UniWorX
|
, HandlerSite m ~ UniWorX
|
||||||
@ -60,8 +61,7 @@ userMailT uid mAct = do
|
|||||||
(underling, receivers, undercopy) <- liftHandler . runDB $ getReceivers uid
|
(underling, receivers, undercopy) <- liftHandler . runDB $ getReceivers uid
|
||||||
let undername = underling ^. _userDisplayName -- nameHtml' underling
|
let undername = underling ^. _userDisplayName -- nameHtml' underling
|
||||||
undermail = CI.original $ underling ^. _userEmail
|
undermail = CI.original $ underling ^. _userEmail
|
||||||
infoSupervised :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
|
infoSupervised :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
|
||||||
<meta charset="utf-8">
|
|
||||||
<h2>_{MsgMailSupervisedNote}
|
<h2>_{MsgMailSupervisedNote}
|
||||||
<p>
|
<p>
|
||||||
_{MsgMailSupervisedBody}
|
_{MsgMailSupervisedBody}
|
||||||
@ -88,14 +88,10 @@ userMailT uid mAct = do
|
|||||||
, mcCsvOptions = userCsvOptions
|
, mcCsvOptions = userCsvOptions
|
||||||
}
|
}
|
||||||
supername = supervisor ^. _userDisplayName -- nameHtml' supervisor
|
supername = supervisor ^. _userDisplayName -- nameHtml' supervisor
|
||||||
infoSupervisor :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
|
infoSupervisor :: Hamlet.HtmlUrlI18n UniWorXSendMessage (Route UniWorX) = [ihamlet|
|
||||||
<meta charset="utf-8">
|
|
||||||
<h2>_{MsgMailSupervisorNote}
|
<h2>_{MsgMailSupervisorNote}
|
||||||
<p>
|
<p>
|
||||||
_{MsgMailSupervisorBody undername supername} #
|
_{MsgMailSupervisorBody undername supername} <a href=@{NewsR}>FRADrive</a>. #
|
||||||
<a href=@{NewsR}>
|
|
||||||
FRADrive
|
|
||||||
. #
|
|
||||||
$if undercopy
|
$if undercopy
|
||||||
_{MsgMailSupervisorCopy undermail}
|
_{MsgMailSupervisorCopy undermail}
|
||||||
$else
|
$else
|
||||||
@ -190,7 +186,7 @@ addHtmlMarkdownAlternatives html' = do
|
|||||||
where
|
where
|
||||||
writerOptions = markdownWriterOptions
|
writerOptions = markdownWriterOptions
|
||||||
{ P.writerReferenceLinks = True
|
{ 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)
|
-- | 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 ()
|
) => Text -> a -> m ()
|
||||||
addHtmlMarkdownAlternatives' fn html' = do
|
addHtmlMarkdownAlternatives' fn html' = do
|
||||||
html <- toMailHtml html'
|
html <- toMailHtml html'
|
||||||
markdown <- runMaybeT $ renderMarkdownWith htmlReaderOptions writerOptions html
|
markdown <- runMaybeT $ renderMarkdownWith htmlReaderOptions writerOptions html
|
||||||
|
|
||||||
addAlternatives $ do
|
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"))
|
whenIsJust markdown $ provideAlternative . NamedMailPart (InlineDisposition (fn <> ".txt"))
|
||||||
where
|
where
|
||||||
writerOptions = markdownWriterOptions
|
writerOptions = markdownWriterOptions
|
||||||
{ P.writerReferenceLinks = True
|
{ P.writerReferenceLinks = True
|
||||||
, P.writerPreferAscii = True
|
, P.writerPreferAscii = False
|
||||||
}
|
}
|
||||||
|
|||||||
@ -427,12 +427,21 @@ sendEmailOrLetter recipient letter = do
|
|||||||
let (preferPost, postal) = getPostalPreferenceAndAddress rcvrUsr
|
let (preferPost, postal) = getPostalPreferenceAndAddress rcvrUsr
|
||||||
isSupervised = recipient /= svr
|
isSupervised = recipient /= svr
|
||||||
lang = selectDeEn $ rcvrUsr & userLanguages -- select either German or English only, default de; see Utils.Lang
|
lang = selectDeEn $ rcvrUsr & userLanguages -- select either German or English only, default de; see Utils.Lang
|
||||||
lMeta = letterMeta letter lang formatter <> mkMeta
|
lMeta = letterMeta letter lang formatter <> mkMeta (
|
||||||
[ toMeta "lang" lang
|
( if isSupervised
|
||||||
, toMeta "date" $ format SelFormatDate now
|
then
|
||||||
, toMeta "address" $ fromMaybe [rcvrUsr & userDisplayName] postal
|
[ toMeta "supervisor" (rcvrUsr & userDisplayName)
|
||||||
, mbMeta "supervisor" $ toMaybe isSupervised (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
|
pdfLetter tmpl lMeta >>= \case
|
||||||
_ | preferPost, isNothing postal -> do -- neither email nor postal is known
|
_ | preferPost, isNothing postal -> do -- neither email nor postal is known
|
||||||
encRecipient :: CryptoUUIDUser <- encrypt svr
|
encRecipient :: CryptoUUIDUser <- encrypt svr
|
||||||
|
|||||||
@ -9,7 +9,7 @@ email: fahrerausbildung@fraport.de
|
|||||||
place: Frankfurt am Main
|
place: Frankfurt am Main
|
||||||
return-address:
|
return-address:
|
||||||
- 60547 Frankfurt
|
- 60547 Frankfurt
|
||||||
de-opening: Liebe Fahrer,
|
de-opening: Liebe Fahrberechtigungsinhaber,
|
||||||
en-opening: Dear driver,
|
en-opening: Dear driver,
|
||||||
de-closing: |
|
de-closing: |
|
||||||
Mit freundlichen Grüßen,
|
Mit freundlichen Grüßen,
|
||||||
@ -67,12 +67,12 @@ $endif$
|
|||||||
verlängert werden.
|
verlängert werden.
|
||||||
$if(supervisor)$
|
$if(supervisor)$
|
||||||
Ansprechpartner werden gebeten, die Login-Daten aus dem geschützen Sichtfenster weiter unten
|
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$
|
$else$
|
||||||
Dazu bitte die Login-Daten aus dem geschützen Sichtfenster weiter unten verwenden.
|
Dazu bitte die Login-Daten aus dem geschützen Sichtfenster weiter unten verwenden.
|
||||||
$endif$
|
$endif$
|
||||||
|
|
||||||
Prüfling
|
Fahrberechtigungsinhaber
|
||||||
|
|
||||||
: $examinee$
|
: $examinee$
|
||||||
|
|
||||||
@ -85,8 +85,9 @@ URL
|
|||||||
: [$url-text$]($url$)
|
: [$url-text$]($url$)
|
||||||
|
|
||||||
|
|
||||||
Sobald die Frist abgelaufen ist, muss zur Wiedererlangung der Fahrberechtigung "F"
|
Sollte bis zum Ablaufdatum das E-Learning nicht erfolgreich abgeschlossen sein, muss
|
||||||
erneut der komplette Grundkurs bei der Fahrerausbildung absolviert werden.
|
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.
|
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$
|
$else$
|
||||||
|
|
||||||
<!-- englische Version des Briefes -->
|
<!-- englische Version des Briefes -->
|
||||||
|
|
||||||
$if(supervisor)$
|
$if(supervisor)$
|
||||||
the apron diving license of $examinee$
|
the apron diving license of $examinee$
|
||||||
$else$
|
$else$
|
||||||
your apron diving license
|
your apron diving license
|
||||||
$endif$
|
$endif$
|
||||||
is about to expire soon.
|
is about to expire soon.
|
||||||
The validity may be extended
|
The validity may be extended
|
||||||
$if(validduration)$
|
$if(validduration)$
|
||||||
@ -124,7 +124,7 @@ Expiry
|
|||||||
|
|
||||||
URL
|
URL
|
||||||
|
|
||||||
:[$url-text$]($url$)
|
: [$url-text$]($url$)
|
||||||
|
|
||||||
|
|
||||||
Should the apron driving license expire before completing this
|
Should the apron driving license expire before completing this
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user