chore(letter): update demo renewal letters

This commit is contained in:
Steffen Jost 2024-06-19 17:41:14 +02:00
parent ab5e432b77
commit d61788a1f5
3 changed files with 78 additions and 17 deletions

View File

@ -18,23 +18,39 @@ import Data.FileEmbed (embedFile)
import Utils.Print.Letters
import Handler.Utils.Widgets (nameHtml) -- , nameHtml')
-- TODO: refactor me and turn me into a qualification property (elearningOnly)
qualificationPractical :: Text -> Bool
qualificationPractical qshort = "R" == qshort
defaultNotice :: Lang -> Text -> Text -> Text -> [Text]
defaultNotice l qualName qualShort newExpire
| isDe l
= [ [st|Ein Zertifikat für Ihre Unterlagen kann nur direkt nach dem erfolgreichen Test erstellt werden. Das Zertifikat wird auf die Benutzerkennung ausgestellt. Zusammen mit diesem Schreiben können Sie Ihrem Arbeitgeber zeigen, dass Sie bestanden haben. Bei erfolgreichem Abschluss der Schulung verlängert sich das Ablaufdatum automatisch auf den #{newExpire}. Wir empfehlen die Schulung zeitnah durchzuführen. Sollte bis zum Ablaufdatum das E-Learning nicht erfolgreich abgeschlossen sein oder der Test nach 5 Versuchen nicht bestanden werden, muss zur Wiedererlangung der Fahrberechtigung #{qualShort} ein Grundkurs #{qualName} bei der Fahrerausbildung absolviert werden.|]
| isDe l, qualificationPractical qualShort
= [ [st|Ein Zertifikat für Ihre Unterlagen kann nur direkt nach dem erfolgreichen Test erstellt werden.
Das Zertifikat wird auf die Benutzerkennung ausgestellt. Zusammen mit diesem Schreiben können Sie Ihrem Arbeitgeber zeigen, dass Sie bestanden haben.
Bei erfolgreichem Abschluss der Schulung verlängert sich das Ablaufdatum automatisch auf den #{newExpire}. Wir empfehlen die Schulung zeitnah durchzuführen.
Sollte bis zum Ablaufdatum das E-Learning und der Praxisteil nicht erfolgreich abgeschlossen sein oder der Test nach 5 Versuchen nicht bestanden werden, muss zur Wiedererlangung der Fahrberechtigung #{qualShort} ein Grundkurs #{qualName} bei der Fahrerausbildung absolviert werden.|]
, "Benötigen Sie die Fahrberechtigung nicht mehr, informieren Sie bitte die Fahrerausbildung."
]
| isDe l
= [ [st|Ein Zertifikat für Ihre Unterlagen kann nur direkt nach dem erfolgreichen Test erstellt werden.
Das Zertifikat wird auf die Benutzerkennung ausgestellt. Zusammen mit diesem Schreiben können Sie Ihrem Arbeitgeber zeigen, dass Sie bestanden haben.
Bei erfolgreichem Abschluss der Schulung verlängert sich das Ablaufdatum automatisch auf den #{newExpire}. Wir empfehlen die Schulung zeitnah durchzuführen.
Sollte bis zum Ablaufdatum das E-Learning nicht erfolgreich abgeschlossen sein oder der Test nach 5 Versuchen nicht bestanden werden, muss zur Wiedererlangung der Fahrberechtigung #{qualShort} ein Grundkurs #{qualName} bei der Fahrerausbildung absolviert werden.|]
, "Benötigen Sie die Fahrberechtigung nicht mehr, informieren Sie bitte die Fahrerausbildung."
, "(Please contact us if you prefer letters in English.)"
]
| otherwise
= [ [st|A certificate for your records can only be generated immediately after a successful test. The certificate will be issued for the user login. The certificate and this letter may then prove that you have passed. Upon successful completion of the training, the expiry date will automatically be extended until #{newExpire}. We recommend completing the training as soon as possible. The licence irrevocably expires, if the e-learning is not successfully completed by the expiry date or after 5 failed attempts. In this case, regaining licence "#{qualShort}" requires the completing of a normal training course #{qualName} again, as if no prior experience existed.|]
= [ [st|A certificate for your records can only be generated immediately after a successful test.
The certificate will be issued for the user login. The certificate and this letter may then prove that you have passed.
Upon successful completion of the training, the expiry date will automatically be extended until #{newExpire}. We recommend completing the training as soon as possible.
The licence irrevocably expires, if the e-learning is not successfully completed by the expiry date or after 5 failed attempts. In this case, regaining licence "#{qualShort}" requires the completing of a normal training course #{qualName} again, as if no prior experience existed.|]
, "Please inform us, if this driving licence is no longer required."
, "(Kontaktieren Sie uns bitte, um zukünftige Briefe von uns in deutscher Sprache zu erhalten.)"
]
qualificationText :: Lang -> Text -> Text -> (Text, Text, Text)
qualificationText :: Lang -> Text -> Text -> (Text, Text, Text) -- qarea qformal qlicence
qualificationText l qName@(Text.stripSuffix "führerschein" -> Just qPrefix) qShort
| isDe l
= (qPrefix, qPrefix <> "fahrberechtigung", qName)
@ -106,6 +122,9 @@ instance MDLetter LetterRenewQualification where
guardMonoid isReminder
[ toMeta "reminder" ("reminder"::Text)
] <>
guardMonoid (qualificationPractical qualShort)
[ toMeta "practical" True
] <>
[ toMeta "lang" lang
, toMeta "login" lmsIdent
, toMeta "pin" lmsPin

View File

@ -13,7 +13,8 @@
]{scrlttr2}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
\PassOptionsToPackage{unicode,$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
%\PassOptionsToPackage{unicode=true, colorlinks=false}{hyperref}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
@ -77,6 +78,9 @@ $endif$
\fi
\renewcommand{\familydefault}{\sfdefault}
\let\oldhref\href
\renewcommand{\href}[2]{\oldhref{#1}{\bfseries#2}}
$if(mathspec)$
\ifXeTeX
\usepackage{mathspec}

View File

@ -9,7 +9,7 @@ email: fahrerausbildung@fraport.de
place: Frankfurt am Main
return-address:
- 60547 Frankfurt
de-opening: Liebe Fahrberechtigungsinhaber,
de-opening: Sehr geehrte Damen und Herren,
en-opening: Dear driver,
de-closing: |
Mit freundlichen Grüßen,
@ -18,7 +18,7 @@ en-closing: |
With kind regards,
Your Driver Training
encludes:
hyperrefoptions: hidelinks
hyperrefoptions: colorlinks=false
### Metadaten, welche automatisch ersetzt werden:
qarea: 'Vorfeld'
@ -58,19 +58,57 @@ $if(is-de)$
<!-- deutsche Version des Briefes -->
um die Rollfeldfahrberechtigung von \textbf{$examinee$} zu erhalten, benötigen wir bis zum $date$ den Nachweis, dass die theoretische und praktische flughafenspezifische Rollfeld Recurrent Schulung der Fraport AG gemäß Verordnung der Europäische Union Nr. 139/2014 absolviert wurde.
$if(reminder)$
dies ist die **letzte Erinnerung**:
$endif$
um
$if(supervisor)$
die $qformal$ von \textbf{$examinee$}
$else$
Ihre $qformal$
$endif$
zu erhalten, benötigen wir bis zum **$date$** den Nachweis,
dass die
$if(practical)$
theoretische und praktische
$endif$
flughafenspezifische $qarea$ Recurrent Schulung
der Fraport AG gemäß Verordnung der Europäische Union Nr. 139/2014 absolviert wurde.
Die Online-Schulung der Fraport AG ist erreichbar unter folgendem Link:
[$url-text$]($url$)
Der erforderliche Benutzername und das Passwort für die Fraport Online-Schulung finden Sie untenstehend. Die Weitergabe der persönlichen Benutzerdaten an Dritte ist untersagt. Ausschließlich Sie sind berechtigt, die Benutzerdaten an den Schulungsteilnehmer auszuhändigen.
Der erforderliche Benutzername und das Passwort für die Fraport Online-Schulung finden Sie untenstehend.
Die Weitergabe der persönlichen Benutzerdaten an Dritte ist untersagt.
$if(supervisor)$
Ausschließlich Sie sind berechtigt, die Benutzerdaten an den
Teilnehmer der Schulung auszuhändigen.
$endif$
Für die Absolvierung der Schulungsmaßnahme werden 1-2 Stunden benötigt. Der Abschluss der Schulung wird automatisch an das System der Fahrerausbildung übermittelt.
Für die Absolvierung der Schulungsmaßnahme werden 1--2 Stunden benötigt. Der Abschluss der Schulung wird automatisch an das System der Fahrerausbildung übermittelt.
$if(practical)$
Nach erfolgreichem Abschluss der Online-Schulung
$if(supervisor)$
muss \textbf{$examinee$}
$else$
lassen Sie
$endif$
sich von Ihrer Firma zum praktischen Teil der Schulung
$if(supervisor)$
einplanen lassen.
$else$
einplanen.
$endif$
Im Rahmen der 3--4-stündigen praktischen Auffrischung erfolgen Funkübungen
sowie die Durchführung einer Übungsfahrt mit Prüfungscharakter
im Start-/Landebahnsystem.
$endif$
Nach erfolgreichem Abschluss der Online-Schulung muss \textbf{$examinee$} sich von Ihrer Firma zum praktischen Teil der Schulung einplanen lassen. Im Rahmen der 3--4-stündigen praktischen Auffrischung erfolgen Funkübungen sowie die Durchführung einer Übungsfahrt mit Prüfungscharakter im Start-/Landebahnsystem.
$else$
<!-- englische Version des Briefes -->
$if(reminder)$
this is a last **reminder**: as of $date$,
@ -84,9 +122,9 @@ $endif$
if the elearning is not concluded in time!
$else$
$if(supervisor)$
the apron diving license of $examinee$
the $qformal$ of $examinee$
$else$
your apron diving license
your $qformal$
$endif$
is about to expire soon.
$endif$
@ -117,13 +155,13 @@ E-learning website
: [$url-text$]($url$)
If the apron driving license expires before completing this e-learning,
If the $qformal$ expires before completing this e-learning,
$if(supervisor)$
the examinee has to participate in a basic training course again to regain
to regain the apron driving licence.
to regain the $qformal$.
$else$
you have to participate in a basic training course again to regain
your apron driving licence.
your $qformal$.
$endif$