refactor(letter): expiry letter updated

This commit is contained in:
Steffen Jost 2024-06-20 16:17:52 +02:00
parent 73ea2f54df
commit a2a89a8aad
6 changed files with 169 additions and 18 deletions

View File

@ -15,7 +15,7 @@ import qualified Data.CaseInsensitive as CI
import Data.FileEmbed (embedFile)
import Utils.Print.Letters
import Utils.Print.RenewQualification (qualificationText)
data LetterExpireQualification = LetterExpireQualification
{ leqHolderCFN :: CryptoFileNameUser
@ -38,13 +38,16 @@ instance MDLetter LetterExpireQualification where
getLetterEnvelope _ = 'e'
getMailSubject l = SomeMessage $ MsgMailSubjectQualificationExpired $ leqShort l
{-
getTemplate LetterExpireQualification{leqShort="F"}
= decodeUtf8 $(Data.FileEmbed.embedFile "templates/letter/fraport_f_expiry.md")
getTemplate _ = decodeUtf8 $(Data.FileEmbed.embedFile "templates/letter/fraport_generic_expiry.md")
-}
getTemplate _ = decodeUtf8 $(Data.FileEmbed.embedFile "templates/letter/fraport_licence_expiry.md")
letterMeta LetterExpireQualification{..} DateTimeFormatter{ format } lang Entity{entityKey=rcvrId, entityVal=User{userDisplayName}} =
let isSupervised = rcvrId /= leqHolderID
(qArea, qFormal, qLicence) = qualificationText lang leqName leqShort
in mkMeta $
guardMonoid isSupervised
[ toMeta "supervisor" userDisplayName
@ -56,12 +59,13 @@ instance MDLetter LetterExpireQualification where
, toMeta "subject-meta" leqHolderDN
, mbMeta "expiry" (format SelFormatDate <$> leqExpiry)
, mbMeta "licence-url" leqUrl
, toMeta "de-opening" $ bool ("Guten Tag " <> leqHolderDN <> ",") "Sehr geehrte Damen und Herren," isSupervised
, toMeta "en-opening" $ bool ("Dear " <> leqHolderDN <> ",") "Dear supervisor," isSupervised
, toMeta "de-subject" $ "Entzug \"" <> leqShort <> "\" (" <> leqName <> ")"
, toMeta "en-subject" $ case leqShort of
"F" -> "Revocation of apron driving license"
_ -> "Revocation of licence \"" <> leqShort <> "\" (" <> leqName <> ")"
, toMeta "de-opening" $ bool ("Guten Tag " <> leqHolderDN <> ",") "Sehr geehrte Damen und Herren," isSupervised
, toMeta "en-opening" $ bool ("Dear " <> leqHolderDN <> ",") "Dear supervisor," isSupervised
, toMeta "de-subject" [st|Entzug "#{leqShort}" (#{qLicence})|]
, toMeta "en-subject" [st|Revocation "#{leqShort}" (#{qLicence})|]
, toMeta "qarea" qArea
, toMeta "qformal" qFormal
, toMeta "qlicence" qLicence
]
getPJId LetterExpireQualification{..} =

View File

@ -50,7 +50,7 @@ defaultNotice l qualName qualShort newExpire
]
qualificationText :: Lang -> Text -> Text -> (Text, Text, Text) -- qarea qformal qlicence
qualificationText :: Lang -> Text -> Text -> (Text, Text, Text) -- (qarea, qformal, qlicence) i.e. (Rollfeld, Rollfeldfahrberechtigung, Rollfeldführerschein) translated
qualificationText l qName@(Text.stripSuffix "führerschein" -> Just qPrefix) qShort
| isDe l
= (qPrefix, qPrefix <> "fahrberechtigung", qName)
@ -112,7 +112,7 @@ instance MDLetter LetterRenewQualification where
let LetterRenewQualificationData{..} = letterRenewalQualificationFData l
isSupervised = rcvrId /= qualHolderID
newExpire = addDays (fromIntegral $ fromMaybe 0 qualDuration) qualExpiry
(qArea, qFormal, qLicence) = qualificationText lang qualName qualShort
(qArea, qFormal, qLicence) = qualificationText lang qualName qualShort
in mkMeta $
guardMonoid isSupervised
[ toMeta "supervisor" userDisplayName
@ -137,6 +137,8 @@ instance MDLetter LetterRenewQualification where
, toMeta "notice" $ defaultNotice lang qualName qualShort $ format SelFormatDate newExpire
, toMeta "de-subject" [st|Verlängerung Fahrberechtigung #{qualShort} (#{qualName})|]
, toMeta "en-subject" [st|Renewal of driving licence #{qualShort} (#{qualName})|]
, toMeta "de-opening" $ bool ("Guten Tag " <> qualHolderDN <> ",") "Sehr geehrte Damen und Herren," isSupervised
, toMeta "en-opening" $ bool ("Dear " <> qualHolderDN <> ",") "Dear supervisor," isSupervised
, toMeta "qarea" qArea
, toMeta "qformal" qFormal
, toMeta "qlicence" qLicence

View File

@ -43,12 +43,11 @@ $endif$
\usepackage{iftex}
%\usepackage[ngerman]{babel}
$if(lang)$
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\usepackage[bidi=basic,english,ngerman]{babel}
\else
\usepackage[bidi=default]{babel}
\usepackage[bidi=default,english,ngerman]{babel}
\fi
\babelprovide[main,import]{$babel-lang$}
$for(babel-otherlangs)$

View File

@ -0,0 +1,147 @@
---
### Metadaten, welche hier eingestellt werden:
# Absender
de-subject: 'Entzug "F" (Vorfeldführerschein)'
en-subject: Revocation of apron driving license
author: Fraport AG - Fahrerausbildung (AVN-AR)
phone: +49 69 690-30306
email: fahrerausbildung@fraport.de
place: Frankfurt am Main
return-address:
- 60547 Frankfurt
de-opening: Sehr geehrte Damen und Herren,
en-opening: Dear driver,
de-closing: |
Mit freundlichen Grüßen,
Fraport Fahrerausbildung
en-closing: |
With kind regards,
Fraport Driver Training
encludes:
hyperrefoptions: hidelinks
### Metadaten, welche automatisch ersetzt werden:
date: 11.11.1111
lang: de-de
is-de: true
# Emfpänger
licenceholder: P. Rüfling
address:
- E. M. Pfänger
- Musterfirma GmbH
- Musterstraße 11
- 12345 Musterstadt
...
$if(titleblock)$
$titleblock$
$endif$
$for(header-includes)$
$header-includes$
$endfor$
$for(include-before)$
$include-before$
$endfor$
$if(is-de)$
<!-- deutsche Version des Briefes -->
$if(supervisor)$
leider hat **$licenceholder$**
$else$
leider haben Sie
$endif$
den Wissenstest im Rahmen des Recurrent Trainings $qlicence$ nicht bestanden
oder die Ablauffrist nicht eingehalten.
**Die Qualifikation „$qformal$“ ist somit
$if(expiry)$
seit $expiry$
$endif$
nicht mehr gültig.**
$if(supervisor)$
$if(licence-url)$
[$licenceholder$]($licence-url$)
$else$
$licenceholder$
$endif$
darf
$else$
Sie dürfen
$endif$
ab sofort keine Fahrzeuge mehr eigenständig auf dem $qarea$ des Frankfurter Flughafens führen.
Um die Fahrberechtigung wiederzuerlangen, ist die Teilnahme an einem
Grundkurs $qlicence$ bei der Fahrerausbildung erforderlich.
$if(supervisor)$
Hierfür wenden Sie sich bitte an die Fahrerausbildung der Fraport AG unter:
Telefon
: [$phone$](tel:$phone$)
Email
: [$email$](mailto:$email$)
$else$
Hierfür wenden Sie sich bitte an Ihren Arbeitgeber.
$endif$
$else$
<!-- englische Version des Briefes -->
we regret to inform you that
$if(supervisor)$
**$licenceholder$**
$else$
you
$endif$
did not pass the required knowledge test within the allotted time
for the renewal of the $qlicence$.
**The qualification „$licencename$“ ($qformal$) is therefore invalid
$if(expiry)$
since $expiry$.
$else$
now.
$endif$**
$if(supervisor)$
$if(licence-url)$
[$licenceholder$]($licence-url$)
$else$
$licenceholder$
$endif$
$else$
You
$endif$
may no longer drive a vehicle on the $qarea$ of Frankfurt airport, effective immediately.
In order to regain this $qlicence$, a full participation in a
basic training course is required.
$if(supervisor)$
Please contact Fraport Driver Training, if you want to book a course:
Phone
: [$phone$](tel:$phone$)
Email
: [$email$](mailto:$email$)
$else$
Please contact your employer to book a course for you.
$endif$
$endif$

View File

@ -13,10 +13,10 @@ de-opening: Sehr geehrte Damen und Herren,
en-opening: Dear driver,
de-closing: |
Mit freundlichen Grüßen,
Ihre Fahrerausbildung
Fraport Fahrerausbildung
en-closing: |
With kind regards,
Your Driver Training
Fraport Driver Training
encludes:
hyperrefoptions: colorlinks=false

View File

@ -36,12 +36,11 @@ $endif$
\usepackage{iftex}
%\usepackage[ngerman]{babel}
$if(lang)$
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\usepackage[bidi=basic,english,ngerman]{babel}
\else
\usepackage[bidi=default]{babel}
\usepackage[bidi=default,english,ngerman]{babel}
\fi
\babelprovide[main,import]{$babel-lang$}
$for(babel-otherlangs)$