chore(course): unlink course certificates from course qualification

This commit is contained in:
Steffen Jost 2023-06-19 09:50:21 +00:00
parent 39b8c64b3c
commit 22426db241

View File

@ -1,4 +1,4 @@
-- SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <sarah.vaupel@ifi.lmu.de> -- SPDX-FileCopyrightText: 2022-23 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <sarah.vaupel@ifi.lmu.de>,Steffen Jost <s.jost@fraport.de>
-- --
-- SPDX-License-Identifier: AGPL-3.0-or-later -- SPDX-License-Identifier: AGPL-3.0-or-later
@ -45,8 +45,6 @@ embedRenderMessage ''UniWorX ''TutorialUserAction id
data TutorialUserActionData data TutorialUserActionData
= TutorialUserPrintQualificationData = TutorialUserPrintQualificationData
{ tuQualification :: QualificationId
}
| TutorialUserRenewQualificationData | TutorialUserRenewQualificationData
{ tuQualification :: QualificationId } { tuQualification :: QualificationId }
| TutorialUserGrantQualificationData | TutorialUserGrantQualificationData
@ -98,11 +96,7 @@ postTUsersR tid ssh csh tutn = do
acts :: Map TutorialUserAction (AForm Handler TutorialUserActionData) acts :: Map TutorialUserAction (AForm Handler TutorialUserActionData)
acts = Map.fromList $ acts = Map.fromList $
(if null qualifications then mempty else (if null qualifications then mempty else
[ ( TutorialUserPrintQualification [ ( TutorialUserRenewQualification
, TutorialUserPrintQualificationData
<$> apopt (selectField . fmap mkOptionList $ mapM qualOpt qualifications) (fslI MsgQualificationName) Nothing
)
, ( TutorialUserRenewQualification
, TutorialUserRenewQualificationData , TutorialUserRenewQualificationData
<$> apopt (selectField . fmap mkOptionList $ mapM qualOpt qualifications) (fslI MsgQualificationName) Nothing <$> apopt (selectField . fmap mkOptionList $ mapM qualOpt qualifications) (fslI MsgQualificationName) Nothing
) )
@ -113,16 +107,16 @@ postTUsersR tid ssh csh tutn = do
) )
] ]
) ++ ) ++
[ ( TutorialUserSendMail, pure TutorialUserSendMailData ) [ ( TutorialUserSendMail , pure TutorialUserSendMailData )
, ( TutorialUserDeregister, pure TutorialUserDeregisterData ) , ( TutorialUserDeregister , pure TutorialUserDeregisterData )
, ( TutorialUserPrintQualification, pure TutorialUserPrintQualificationData )
] ]
table <- makeCourseUserTable cid acts isInTut colChoices psValidator (Just csvColChoices) table <- makeCourseUserTable cid acts isInTut colChoices psValidator (Just csvColChoices)
return (tutEnt, table, qualifications) return (tutEnt, table, qualifications)
let courseQids = Set.fromList (entityKey <$> qualifications) let courseQids = Set.fromList (entityKey <$> qualifications)
tcontent <- formResultMaybe participantRes $ \case tcontent <- formResultMaybe participantRes $ \case
(TutorialUserPrintQualificationData{..}, selectedUsers) (TutorialUserPrintQualificationData, selectedUsers) -> do
| tuQualification `Set.member` courseQids -> do
rcvr <- requireAuth rcvr <- requireAuth
encRcvr <- encrypt $ entityKey rcvr encRcvr <- encrypt $ entityKey rcvr
letters <- runDB $ makeCourseCertificates tut Nothing $ toList selectedUsers letters <- runDB $ makeCourseCertificates tut Nothing $ toList selectedUsers