From 468af9de9da44a8ad685ca4bb6890a3e630b58be Mon Sep 17 00:00:00 2001 From: Steffen Date: Fri, 5 Jul 2024 17:40:12 +0200 Subject: [PATCH] fix(lms): move lms reuse info from QualificationR to LmsR LmsR is intended to be seen by Fraport Admins only, while QualificationR is intended to be seen by Supervisors (in the future). The LMS reuse information might confuse non-admins and is irrelevant to them. --- src/Handler/LMS.hs | 9 ++++++--- src/Handler/Qualification.hs | 4 ++-- templates/lms.hamlet | 16 +++++++++++++++- templates/qualification.hamlet | 4 ---- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/Handler/LMS.hs b/src/Handler/LMS.hs index b86f41ba9..69a77b68f 100644 --- a/src/Handler/LMS.hs +++ b/src/Handler/LMS.hs @@ -155,6 +155,8 @@ mkLmsAllTable isAdmin lmsDeletionDays = do foldMap (textCell . formatCalendarDiffDays . fromMonths) . view (resultAllQualification . _qualificationAuditDuration) , sortable (Just "qelearning") (i18nCell MsgTableLmsElearning & cellTooltip MsgQualificationElearningStart) $ tickmarkCell . view (resultAllQualification . _qualificationElearningStart) + , sortable Nothing (i18nCell MsgTableQualificationLmsReuses & cellTooltip MsgTableQualificationLmsReusesTooltip) + $ \(view (resultAllQualification . _qualificationLmsReuses) -> reuseQid) -> maybeCell reuseQid qualificationIdShortCell , sortable Nothing (i18nCell MsgTableQualificationIsAvsLicence & cellTooltip MsgTableQualificationIsAvsLicenceTooltip) $ \(view (resultAllQualification . _qualificationAvsLicence) -> licence) -> maybeCell licence $ textCell . T.singleton . licence2char , sortable Nothing (i18nCell MsgTableQualificationSapExport & cellTooltip MsgTableQualificationSapExportTooltip) @@ -596,8 +598,9 @@ postLmsR sid qsh = do msgResetInfo <- messageIconI Info IconNotificationNonactive MsgLmsActResetInfo msgRestartWarning <- messageIconI Warning IconWarning MsgLmsActRestartWarning - ((lmsRes, lmsTable), Entity qid quali) <- runDB $ do - qent <- getBy404 $ SchoolQualificationShort sid qsh + ((lmsRes, lmsTable), Entity qid quali, lmsQualiReused) <- runDB $ do + qent@Entity{entityVal=Qualification{qualificationLmsReuses = reuseQuali}} <- getBy404 $ SchoolQualificationShort sid qsh + lmsQualiReused <- traverseJoin get reuseQuali let acts :: Map LmsTableAction (AForm Handler LmsTableActionData) acts = mconcat [ singletonMap LmsActNotify $ pure LmsActNotifyData @@ -694,7 +697,7 @@ postLmsR sid qsh = do i18nLms msg = cell [whamlet|LMS #|] <> i18nCell msg psValidator = def & defaultSorting [SortDescBy "started", SortDescBy "status"] tbl <- mkLmsTable isAdmin qent acts colChoices psValidator - return (tbl, qent) + return (tbl, qent, lmsQualiReused) formResult lmsRes $ \case _ | not isAdmin -> addMessageI Error MsgUnauthorized -- only admins can use the form on this page diff --git a/src/Handler/Qualification.hs b/src/Handler/Qualification.hs index 77533b334..ba3bbce8b 100644 --- a/src/Handler/Qualification.hs +++ b/src/Handler/Qualification.hs @@ -106,8 +106,8 @@ mkQualificationAllTable isAdmin = do $ tickmarkCell . view (resultAllQualification . _qualificationElearningRenews) , sortable (Just "noteexpiry") (i18nCell MsgQualificationExpiryNotification & cellTooltip MsgQualificationExpiryNotificationTooltip) $ tickmarkCell . view (resultAllQualification . _qualificationExpiryNotification) - , sortable Nothing (i18nCell MsgTableQualificationLmsReuses & cellTooltip MsgTableQualificationLmsReusesTooltip) - $ \(view (resultAllQualification . _qualificationLmsReuses) -> reuseQid) -> maybeCell reuseQid qualificationIdShortCell + -- , sortable Nothing (i18nCell MsgTableQualificationLmsReuses & cellTooltip MsgTableQualificationLmsReusesTooltip) + -- $ \(view (resultAllQualification . _qualificationLmsReuses) -> reuseQid) -> maybeCell reuseQid qualificationIdShortCell , sortable Nothing (i18nCell MsgTableQualificationIsAvsLicence & cellTooltip MsgTableQualificationIsAvsLicenceTooltip) $ \(view (resultAllQualification . _qualificationAvsLicence) -> licence) -> maybeCell licence $ textCell . T.singleton . licence2char , sortable Nothing (i18nCell MsgTableQualificationSapExport & cellTooltip MsgTableQualificationSapExportTooltip) diff --git a/templates/lms.hamlet b/templates/lms.hamlet index fb38e8e07..40f52e1ea 100644 --- a/templates/lms.hamlet +++ b/templates/lms.hamlet @@ -16,7 +16,17 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later $maybe daudit <- qualificationAuditDuration quali
_{MsgQualificationAuditDuration} ^{iconTooltip (msg2widget (MsgQualificationAuditDurationTooltip lmsDeletionDays)) Nothing True} -
_{MsgMonths (fromIntegral daudit)} +
+ $maybe lqre <- lmsQualiReused + $maybe daudit <- qualificationAuditDuration lqre + _{MsgMonths (fromIntegral daudit)} + $nothing + _{MsgMonths (fromIntegral daudit)} + $nothing + $maybe lqre <- lmsQualiReused + $maybe daudit <- qualificationAuditDuration lqre +
_{MsgQualificationAuditDuration} ^{iconTooltip (msg2widget (MsgQualificationAuditDurationTooltip lmsDeletionDays)) Nothing True} +
_{MsgMonths (fromIntegral daudit)} $maybe drefresh <- qualificationRefreshWithin quali
_{MsgQualificationRefreshWithin} ^{iconTooltip (msg2widget MsgQualificationRefreshWithinTooltip) Nothing True} @@ -41,6 +51,10 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later $if drd > 0 _{MsgDays (fromIntegral drd)} + $maybe lqre <- lmsQualiReused +
_{MsgTableQualificationLmsReusesTooltip} +
^{simpleLink (citext2widget (qualificationName lqre)) (QualificationR (qualificationSchool lqre) (qualificationShorthand lqre))} +
_{MsgQualificationElearningStart}
#{boolSymbol (qualificationElearningStart quali)} $if (qualificationElearningStart quali) && isNothing (qualificationRefreshWithin quali) diff --git a/templates/qualification.hamlet b/templates/qualification.hamlet index 3fb868c8e..ad22433bd 100644 --- a/templates/qualification.hamlet +++ b/templates/qualification.hamlet @@ -55,10 +55,6 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later $if drd > 0 _{MsgDays (fromIntegral drd)} - $maybe lqre <- lmsQualiReused -
_{MsgTableQualificationLmsReusesTooltip} -
^{simpleLink (citext2widget (qualificationName lqre)) (QualificationR (qualificationSchool lqre) (qualificationShorthand lqre))} -
_{MsgQualificationElearningStart}
#{boolSymbol (qualificationElearningStart quali)} $if (qualificationElearningStart quali) && isNothing (qualificationRefreshWithin quali)