chore(letter): new letter generalisation WIP
This commit is contained in:
parent
0eac40457b
commit
cf019e6daa
@ -10,7 +10,7 @@ import Import
|
||||
import Text.Hamlet
|
||||
|
||||
-- import Data.Char as Char
|
||||
-- import qualified Data.Text as Text
|
||||
import qualified Data.Text as Text
|
||||
import qualified Data.CaseInsensitive as CI
|
||||
|
||||
import Data.FileEmbed (embedFile)
|
||||
@ -19,6 +19,40 @@ import Utils.Print.Letters
|
||||
import Handler.Utils.Widgets (nameHtml) -- , nameHtml')
|
||||
|
||||
|
||||
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.|]
|
||||
, "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.|]
|
||||
, "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 l qName@(Text.stripSuffix "führerschein" -> Just qPrefix) qShort
|
||||
| isDe l
|
||||
= (qPrefix, qPrefix <> "fahrberechtigung", qName)
|
||||
| qShort == "F"
|
||||
= ("apron", "apron driving licence", "apron driving licence")
|
||||
| qShort == "R"
|
||||
= ("maneuvering area", "maneuvering area driving licence", "maneuvering area driving licence")
|
||||
| otherwise
|
||||
= (qPrefix, qPrefix <> " driving licence", qName)
|
||||
qualificationText l _qName "GSS"
|
||||
| isDe l
|
||||
= ("Gabelstapler", "Fahrberechtigung Gabelstapler", "Gabelstaplerführerschein")
|
||||
| otherwise
|
||||
= ("Forklift", "forklift driving licence", "forklift driving licence")
|
||||
qualificationText _l qName qShort
|
||||
= (qShort, qName, qName)
|
||||
|
||||
|
||||
data LetterRenewQualification = LetterRenewQualification
|
||||
{ lmsLogin :: LmsIdent
|
||||
, lmsPin :: Text
|
||||
@ -62,6 +96,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
|
||||
in mkMeta $
|
||||
guardMonoid isSupervised
|
||||
[ toMeta "supervisor" userDisplayName
|
||||
@ -80,13 +115,13 @@ instance MDLetter LetterRenewQualification where
|
||||
, mbMeta "validduration" (show <$> qualDuration)
|
||||
, toMeta "url-text" lmsUrl
|
||||
, toMeta "url" lmsUrlLogin
|
||||
, toMeta "notice" [ [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 #{format SelFormatDate 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."::Text
|
||||
, "(Please contact us if you prefer letters in English.)"
|
||||
]
|
||||
, 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})|]
|
||||
] -- TODO use [st|some simple text with interpolation|]
|
||||
, toMeta "qarea" qArea
|
||||
, toMeta "qformal" qFormal
|
||||
, toMeta "qlicence" qLicence
|
||||
] -- NOTE: use [st|some simple text with interpolation|]
|
||||
|
||||
getPJId LetterRenewQualification{..} =
|
||||
PrintJobIdentification
|
||||
|
||||
@ -21,6 +21,9 @@ encludes:
|
||||
hyperrefoptions: hidelinks
|
||||
|
||||
### Metadaten, welche automatisch ersetzt werden:
|
||||
qarea: 'Vorfeld'
|
||||
qformal: 'Vorfeldfahrberechtigung'
|
||||
qlicence: 'Vorfeldführerschein'
|
||||
url-text: 'drive.fraport.de'
|
||||
url: 'https://drive.fraport.de'
|
||||
date: 11.11.1111
|
||||
|
||||
Loading…
Reference in New Issue
Block a user