From b64be22636dc69341de22f6c38f49513ce250874 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Fri, 4 Nov 2022 17:23:17 +0100 Subject: [PATCH] chore(lms): link lms to print center --- src/Handler/LMS.hs | 9 ++++++++- src/Handler/PrintCenter.hs | 2 ++ templates/i18n/test/de-de-formal.hamlet | 13 +++++++++++++ templates/i18n/test/en-eu.hamlet | 13 +++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 templates/i18n/test/de-de-formal.hamlet create mode 100644 templates/i18n/test/en-eu.hamlet 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.