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}|]