diff --git a/src/Handler/Submission/Helper.hs b/src/Handler/Submission/Helper.hs index 9dab33ccb..ae8799d23 100644 --- a/src/Handler/Submission/Helper.hs +++ b/src/Handler/Submission/Helper.hs @@ -417,16 +417,8 @@ submissionHelper tid ssh csh shn mcid = do E.where_ $ (user E.^. UserId) `E.in_` E.valList gIds let isParticipant = E.exists . E.from $ \courseParticipant -> do - E.where_ $ (user E.^. UserId E.==. courseParticipant E.^. CourseParticipantUser + E.where_ $ user E.^. UserId E.==. courseParticipant E.^. CourseParticipantUser E.&&. courseParticipant E.^. CourseParticipantCourse E.==. E.val sheetCourse - E.&&. courseParticipant E.^. CourseParticipantState E.==. E.val CourseParticipantActive) - isOldUser = E.exists . E.from $ \(submissionUser `E.InnerJoin` submission) -> do - E.on $ submissionUser E.^. SubmissionUserSubmission E.==. submission E.^. SubmissionId - E.where_ $ submissionUser E.^. SubmissionUserUser E.==. user E.^. UserId - E.&&. submission E.^. SubmissionSheet E.==. E.val shid - case msmid of - Nothing -> return () - Just smid -> E.where_ $ submission E.^. SubmissionId E.==. E.val smid hasSubmitted = E.exists . E.from $ \(submissionUser `E.InnerJoin` submission) -> do E.on $ submissionUser E.^. SubmissionUserSubmission E.==. submission E.^. SubmissionId E.where_ $ submissionUser E.^. SubmissionUserUser E.==. user E.^. UserId @@ -434,7 +426,7 @@ submissionHelper tid ssh csh shn mcid = do case msmid of -- Multiple `E.where_`-Statements are merged with `&&` in esqueleto 2.5.3 Nothing -> return () Just smid -> E.where_ $ submission E.^. SubmissionId E.!=. E.val smid - return (user E.^. UserEmail, (user E.^. UserId, isParticipant E.||. isOldUser, hasSubmitted)) + return (user E.^. UserEmail, (user E.^. UserId, isParticipant, hasSubmitted)) $logDebugS "SUBMISSION.AdHocGroupValidation" $ tshow participants