chore(add-users): fix tutorial audits
This commit is contained in:
parent
d195daadfc
commit
db3d1b0f70
@ -261,35 +261,38 @@ registerUser cid (_avsIdent, Just uid) = exceptT return return $ do
|
||||
upsertNewTutorial :: CourseId -> TutorialIdent -> Handler TutorialId
|
||||
upsertNewTutorial cid tutorialName = do
|
||||
now <- liftIO getCurrentTime
|
||||
Entity tutId _ <- runDB $ upsert
|
||||
Tutorial
|
||||
{ tutorialCourse = cid
|
||||
, tutorialType = CI.mk "Schulung"
|
||||
, tutorialCapacity = Nothing
|
||||
, tutorialRoom = Nothing
|
||||
, tutorialRoomHidden = False
|
||||
, tutorialTime = Occurrences mempty mempty
|
||||
, tutorialRegGroup = Nothing -- TODO: remove
|
||||
, tutorialRegisterFrom = Nothing
|
||||
, tutorialRegisterTo = Nothing
|
||||
, tutorialDeregisterUntil = Nothing
|
||||
, tutorialLastChanged = now
|
||||
, tutorialTutorControlled = False
|
||||
, ..
|
||||
}
|
||||
[ TutorialName =. tutorialName
|
||||
, TutorialType =. CI.mk "Schulung"
|
||||
, TutorialLastChanged =. now
|
||||
]
|
||||
audit $ TransactionTutorialEdit tutId
|
||||
tutId <- runDB $ do
|
||||
Entity tutId _ <- upsert
|
||||
Tutorial
|
||||
{ tutorialCourse = cid
|
||||
, tutorialType = CI.mk "Schulung"
|
||||
, tutorialCapacity = Nothing
|
||||
, tutorialRoom = Nothing
|
||||
, tutorialRoomHidden = False
|
||||
, tutorialTime = Occurrences mempty mempty
|
||||
, tutorialRegGroup = Nothing -- TODO: remove
|
||||
, tutorialRegisterFrom = Nothing
|
||||
, tutorialRegisterTo = Nothing
|
||||
, tutorialDeregisterUntil = Nothing
|
||||
, tutorialLastChanged = now
|
||||
, tutorialTutorControlled = False
|
||||
, ..
|
||||
}
|
||||
[ TutorialName =. tutorialName
|
||||
, TutorialType =. CI.mk "Schulung"
|
||||
, TutorialLastChanged =. now
|
||||
]
|
||||
audit $ TransactionTutorialEdit tutId
|
||||
return tutId
|
||||
return tutId
|
||||
|
||||
registerTutorialMembers :: TutorialId -> Set UserId -> Handler ()
|
||||
registerTutorialMembers tutId (Set.toList -> users) = runDB $ do
|
||||
prevParticipants <- fmap Set.fromList $ selectList [TutorialParticipantUser <-. users, TutorialParticipantTutorial ==. tutId] []
|
||||
prevParticipants <- fmap (Set.fromList . fmap entityKey) $ selectList [TutorialParticipantUser <-. users, TutorialParticipantTutorial ==. tutId] []
|
||||
participants <- fmap Set.fromList . for users $ \tutorialParticipantUser -> do
|
||||
tutPartId <- upsert TutorialParticipant { tutorialParticipantTutorial = tutId, .. } []
|
||||
Entity tutPartId _ <- upsert TutorialParticipant { tutorialParticipantTutorial = tutId, .. } []
|
||||
audit $ TransactionTutorialParticipantEdit tutId tutPartId tutorialParticipantUser
|
||||
return tutPartId
|
||||
let newParticipants = participants Set.\\ prevParticipants
|
||||
unless (Set.null newParticipants) $
|
||||
addMessageI Success . MsgCourseParticipantsRegisteredTutorial $ Set.size newParticipants
|
||||
|
||||
Loading…
Reference in New Issue
Block a user