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