diff --git a/src/Utils/Print.hs b/src/Utils/Print.hs index 3b9bc611e..c71b681c5 100644 --- a/src/Utils/Print.hs +++ b/src/Utils/Print.hs @@ -142,8 +142,8 @@ renderLetter rcvrEnt@Entity{entityVal=rcvr} mdl apcIdent = do meta = addApcIdent apcIdent <> letterMeta mdl formatter lang rcvrEnt <> mkMeta - [ toMeta "lang" lang - , toMeta "date" $ format SelFormatDate now + [ -- toMeta "lang" lang -- receiver language is decided in MDLetter instance, since some letters have fixed languages + toMeta "date" $ format SelFormatDate now , toMeta "rcvr-name" $ rcvr & userDisplayName , toMeta "address" $ fromMaybe [rcvr & userDisplayName] $ getPostalAddress rcvr --, toMeta "rcvr-email" $ rcvr & userDisplayEmail -- note that some templates use "email" already otherwise diff --git a/src/Utils/Print/Letters.hs b/src/Utils/Print/Letters.hs index dad257c4d..58b57675e 100644 --- a/src/Utils/Print/Letters.hs +++ b/src/Utils/Print/Letters.hs @@ -220,7 +220,8 @@ data EncryptPDFfor = NoPassword | PasswordSupervisor | PasswordUnderling deriving (Eq, Show) class MDLetter l where - letterMeta :: l -> DateTimeFormatter -> Lang -> Entity User -> P.Meta + letterMeta :: l -> DateTimeFormatter -> Lang -> Entity User -> P.Meta -- formatter/lang for individual receiver, set Meta "lang" for individually translated letters + -- NOTE: METAs "date", "rcvr-name", "address" are set automatically by renderLetter for each receiver getPJId :: l -> PrintJobIdentification getLetterEnvelope :: l -> Char getLetterKind :: Proxy l -> LetterKind @@ -247,6 +248,6 @@ getApcIdent _ = Nothing -- this is for letters that may alternatively be sent as attachments to emails -class MDMail l where +class MDMail l where -- getMailSubject :: l -> SomeMessage UniWorX -- only used if letter is sent by email as pdf attachment getMailBody :: l -> DateTimeFormatter -> HtmlUrlI18n (SomeMessage UniWorX) (Route UniWorX) -- only used if letter is sent by email as pdf attachment diff --git a/src/Utils/Print/RenewQualification.hs b/src/Utils/Print/RenewQualification.hs index c8723035a..537a8d8a8 100644 --- a/src/Utils/Print/RenewQualification.hs +++ b/src/Utils/Print/RenewQualification.hs @@ -58,7 +58,7 @@ instance MDLetter LetterRenewQualificationF where getLetterEnvelope l = maybe 'q' (Char.toLower . fst) $ Text.uncons (qualShort l) getTemplate _ = decodeUtf8 $(Data.FileEmbed.embedFile "templates/letter/fraport_renewal.md") - letterMeta l@LetterRenewQualificationF{..} DateTimeFormatter{ format } _lang Entity{entityKey=rcvrId, entityVal=User{userDisplayName}} = + letterMeta l@LetterRenewQualificationF{..} DateTimeFormatter{ format } lang Entity{entityKey=rcvrId, entityVal=User{userDisplayName}} = let LetterRenewQualificationFData{..} = letterRenewalQualificationFData l isSupervised = rcvrId /= qualHolderID in mkMeta $ @@ -67,7 +67,8 @@ instance MDLetter LetterRenewQualificationF where , toMeta "de-opening" ("Sehr geehrte Damen und Herren,"::Text) , toMeta "en-opening" ("Dear Sir or Madam,"::Text) ] <> - [ toMeta "login" lmsIdent + [ toMeta "lang" lang + , toMeta "login" lmsIdent , toMeta "pin" lmsPin , toMeta "examinee" qualHolderDN , toMeta "expiry" (format SelFormatDate qualExpiry)