From 807cf4b3cfd24a6544c40f94bb1264ba07f4bf86 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Mon, 22 May 2023 16:40:56 +0000 Subject: [PATCH] chore(lpr): quick fix short apc ids expiry --- src/Handler/Admin/Test.hs | 19 ++++++++++++++++++- src/Handler/PrintCenter.hs | 3 ++- .../Handler/SendNotification/Qualification.hs | 3 ++- src/Utils/Print/ExpireQualification.hs | 4 ++-- src/Utils/Print/Letters.hs | 2 +- 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/Handler/Admin/Test.hs b/src/Handler/Admin/Test.hs index ff3904e6e..3d6fd5b4a 100644 --- a/src/Handler/Admin/Test.hs +++ b/src/Handler/Admin/Test.hs @@ -215,12 +215,29 @@ postAdminTestR = do Button-Modal |] + mkCryptoFilnameUser :: UserId -> Handler CryptoFileNameUser + mkCryptoFilnameUser = encrypt + mkCryptoUUIDUser :: UserId -> Handler CryptoUUIDUser + mkCryptoUUIDUser = encrypt + usrCryptoFileName <- maybeM (return "no-user_id") (fmap toPathPiece . mkCryptoFilnameUser) maybeAuthId + usrCryptoUUID <- maybeM (return "no-user_id") (fmap toPathPiece . mkCryptoUUIDUser) maybeAuthId + let locallyDefinedPageHeading = [whamlet|Admin TestPage for Uni2work|] siteLayout locallyDefinedPageHeading $ do -- defaultLayout $ do - setTitle "Uni2work Admin Testpage" + setTitle "Uni2work Admin Testpage" + $(i18nWidgetFile "admin-test") + [whamlet| +

User CryptoId and CryptoFileName +
+
CryptoUUIDUser +
#{usrCryptoUUID} +
CryptoFileNameUser +
#{usrCryptoFileName} + |] + [whamlet|

Formular Demonstration|] wrapForm formWidget FormSettings { formMethod = POST diff --git a/src/Handler/PrintCenter.hs b/src/Handler/PrintCenter.hs index 41fa484d3..f12f5b9af 100644 --- a/src/Handler/PrintCenter.hs +++ b/src/Handler/PrintCenter.hs @@ -91,10 +91,11 @@ lrqf2letter LRQF{..} | lrqfLetter == "e" || lrqfLetter == "E" = do rcvr <- mapM getUser lrqfSuper usr <- getUser lrqfUser + usrShrt <- encrypt $ entityKey usr usrUuid <- encrypt $ entityKey usr urender <- liftHandler getUrlRender let letter = LetterExpireQualificationF - { leqfHolderUUID = usrUuid + { leqfHolderCFN = usrShrt , leqfHolderID = usr ^. _entityKey , leqfHolderDN = usr ^. _userDisplayName , leqfHolderSN = usr ^. _userSurname diff --git a/src/Jobs/Handler/SendNotification/Qualification.hs b/src/Jobs/Handler/SendNotification/Qualification.hs index 6c438ded8..241af0bc3 100644 --- a/src/Jobs/Handler/SendNotification/Qualification.hs +++ b/src/Jobs/Handler/SendNotification/Qualification.hs @@ -45,6 +45,7 @@ dispatchNotificationQualificationExpiry nQualification dExpiry jRecipient = user dispatchNotificationQualificationExpired :: QualificationId -> UserId -> Handler () dispatchNotificationQualificationExpired nQualification jRecipient = do encRecipient :: CryptoUUIDUser <- encrypt jRecipient + encRecShort <- encrypt jRecipient dbRes <- runDB $ (,,) <$> get jRecipient <*> get nQualification @@ -57,7 +58,7 @@ dispatchNotificationQualificationExpired nQualification jRecipient = do qname = CI.original qualificationName qshort = CI.original qualificationShorthand letter = LetterExpireQualificationF - { leqfHolderUUID = encRecipient + { leqfHolderCFN = encRecShort , leqfHolderID = jRecipient , leqfHolderDN = userDisplayName , leqfHolderSN = userSurname diff --git a/src/Utils/Print/ExpireQualification.hs b/src/Utils/Print/ExpireQualification.hs index a07f50c7e..1d73a3c6a 100644 --- a/src/Utils/Print/ExpireQualification.hs +++ b/src/Utils/Print/ExpireQualification.hs @@ -20,7 +20,7 @@ import Handler.Utils.Widgets (nameHtml) -- , nameHtml') data LetterExpireQualificationF = LetterExpireQualificationF - { leqfHolderUUID:: CryptoUUIDUser + { leqfHolderCFN :: CryptoFileNameUser , leqfHolderID :: UserId , leqfHolderDN :: UserDisplayName , leqfHolderSN :: UserSurname @@ -78,7 +78,7 @@ instance MDLetter LetterExpireQualificationF where getPJId LetterExpireQualificationF{..} = PrintJobIdentification { pjiName = "Expiry" - , pjiApcAcknowledge = "exp-" <> tshow (ciphertext leqfHolderUUID) + , pjiApcAcknowledge = "ex-" <> toPathPiece leqfHolderCFN , pjiRecipient = Nothing -- to be filled later , pjiSender = Nothing , pjiCourse = Nothing diff --git a/src/Utils/Print/Letters.hs b/src/Utils/Print/Letters.hs index d3cd2ccb4..7fe8b4a68 100644 --- a/src/Utils/Print/Letters.hs +++ b/src/Utils/Print/Letters.hs @@ -182,7 +182,7 @@ mkApcIdent uuid envelope lk tnow apcAck = Text.filter apcAcceptedChars $ Text.in [ ensureLength 38 $ tshow (ciphertext uuid) <> Text.cons '-' (Text.singleton envelope) , ensureLength 5 $ paperKind lk , ensureLength 9 tnow - , apcAck -- length of last part may be arbitrary, thus far was always 12 + , Text.take 32 apcAck -- length of last part may be arbitrary, but more than 32 symbols do not fit into the line ] where ensureLength :: Int -> Text -> Text