From 1325ff2a95d75c6fc1cb9f1f2eb4d1e464aa34ad Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Mon, 10 Feb 2020 14:13:31 +0100 Subject: [PATCH] fix(course-users): insertUnique and only count and audit true inserts --- src/Handler/Course/Users.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Handler/Course/Users.hs b/src/Handler/Course/Users.hs index 8aaab1f73..3d638b825 100644 --- a/src/Handler/Course/Users.hs +++ b/src/Handler/Course/Users.hs @@ -532,14 +532,17 @@ postCUsersR tid ssh csh = do Sum nrReg <- fmap mconcat . runDB . forM (Set.toList selectedUsers) $ \uid -> do now <- liftIO getCurrentTime -- TODO allow occurence - insert_ ExamRegistration + mExamReg <- insertUnique ExamRegistration { examRegistrationExam = registerExam , examRegistrationUser = uid , examRegistrationOccurrence = Nothing , examRegistrationTime = now } - audit $ TransactionExamRegister registerExam uid - return 1 + if isJust mExamReg + then do + audit $ TransactionExamRegister registerExam uid + return 1 + else return 0 addMessageI Success $ MsgCourseUsersExamRegistered nrReg redirect $ CourseR tid ssh csh CUsersR let headingLong = [whamlet|_{MsgMenuCourseMembers} #{courseName course} #{tid}|]