diff --git a/src/Handler/LMS.hs b/src/Handler/LMS.hs
index ecff641e6..b056c7390 100644
--- a/src/Handler/LMS.hs
+++ b/src/Handler/LMS.hs
@@ -488,7 +488,8 @@ postLmsR sid qsh = do
-- - Letter printed : LmsUserNotified == Just _ && PrintJobId == Just _
-- - Letter sent : LmsUserNotified == Just _ && PrintJobId == Just _ && PrintJobAcknowledged == Just _
let notifyDate = join $ row ^? resultLmsUser . _entityVal . _lmsUserNotified
- recipient = row ^. hasUser
+ lmsident = row ^? resultLmsUser . _entityVal . _lmsUserIdent
+ recipient = row ^. hasUser
letterDates = row ^? resultPrintAck
lastLetterDate = headDef Nothing =<< letterDates
letterSent = isJust letterDates && (isNothing lastLetterDate || lastLetterDate >= notifyDate) -- was a letter attempted to send last (not 100% safe, if an email is sent after an unacknowledged letter)
@@ -509,8 +510,14 @@ postLmsR sid qsh = do
^{formatTimeW SelFormatDateTime ackdate}
$nothing
_{MsgPrintJobUnacknowledged}
+ $maybe _lu <- lmsident
+
+
+ Link to PrintJob
|]
+ -- (PrintCenterR, [("pj-lmsid", toPathPiece lu)])
_ -> mempty
+
in if notNotified
then mempty
else cIcon <> spacerCell <> cDate <> cAckDates
diff --git a/src/Handler/PrintCenter.hs b/src/Handler/PrintCenter.hs
index aa09a11c6..8d3ecd0e4 100644
--- a/src/Handler/PrintCenter.hs
+++ b/src/Handler/PrintCenter.hs
@@ -229,6 +229,7 @@ mkPJTable = do
, single ("pj-sender" , FilterColumn . E.mkContainsFilterWith Just $ views (to querySender) (E.?. UserDisplayName))
, single ("pj-course" , FilterColumn . E.mkContainsFilterWith Just $ views (to queryCourse) (E.?. CourseName))
, single ("pj-qualification", FilterColumn . E.mkContainsFilterWith Just $ views (to queryQualification) (E.?. QualificationName))
+ , single ("pj-lmsid" , FilterColumn . E.mkContainsFilterWith Just $ views (to queryPrintJob) (E.^. PrintJobLmsUser))
, single ("acknowledged" , FilterColumn . E.mkExactFilterLast $ views (to queryPrintJob) (E.isJust . (E.^. PrintJobAcknowledged)))
]
dbtFilterUI mPrev = mconcat
@@ -242,6 +243,7 @@ mkPJTable = do
, prismAForm (singletonFilter "pj-sender" . maybePrism _PathPiece) mPrev $ aopt (hoistField lift textField) (fslI MsgPrintSender)
, prismAForm (singletonFilter "pj-course" . maybePrism _PathPiece) mPrev $ aopt (hoistField lift textField) (fslI MsgPrintCourse)
, prismAForm (singletonFilter "pj-qualification". maybePrism _PathPiece) mPrev $ aopt (hoistField lift textField) (fslI MsgPrintQualification)
+ , prismAForm (singletonFilter "pj-lmsid" . maybePrism _PathPiece) mPrev $ aopt (hoistField lift textField) (fslI MsgPrintLmsUser)
, prismAForm (singletonFilter "acknowledged" . maybePrism _PathPiece) mPrev $ aopt (boolField . Just $ SomeMessage MsgBoolIrrelevant) (fslI MsgPrintJobAcknowledged)
]
dbtStyle = def { dbsFilterLayout = defaultDBSFilterLayout}
diff --git a/templates/i18n/test/de-de-formal.hamlet b/templates/i18n/test/de-de-formal.hamlet
new file mode 100644
index 000000000..148536c82
--- /dev/null
+++ b/templates/i18n/test/de-de-formal.hamlet
@@ -0,0 +1,13 @@
+$newline never
+
+$# SPDX-FileCopyrightText: 2022 Steffen Jost
+$#
+$# SPDX-License-Identifier: AGPL-3.0-or-later
+
+
+
+ Diese Datei ist nur zum testen von i18nHamlet gedacht.
+
+
+ Ein wesentliches Merkmale dieser Datei ist, #
+ dass es keine Abhängigkeiten gibt.
diff --git a/templates/i18n/test/en-eu.hamlet b/templates/i18n/test/en-eu.hamlet
new file mode 100644
index 000000000..f6bf64f8b
--- /dev/null
+++ b/templates/i18n/test/en-eu.hamlet
@@ -0,0 +1,13 @@
+$newline never
+
+$# SPDX-FileCopyrightText: 2022 Steffen Jost
+$#
+$# SPDX-License-Identifier: AGPL-3.0-or-later
+
+
+
+ This file is only for testing i18nHamlet
+
+
+ That the file has no external dependencies
+ is a central feature of this file.