From 0341f8347e608edfad05fa5968af2e20a62cbe95 Mon Sep 17 00:00:00 2001 From: SJost Date: Thu, 5 Jul 2018 16:00:41 +0200 Subject: [PATCH] Bugfix: Homepage show multiple sheets --- src/Handler/Home.hs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Handler/Home.hs b/src/Handler/Home.hs index 681240986..24807a4e5 100644 --- a/src/Handler/Home.hs +++ b/src/Handler/Home.hs @@ -120,13 +120,19 @@ homeUser uid = do , E.SqlExpr (E.Value Text) , E.SqlExpr (E.Value UTCTime) , E.SqlExpr (E.Value (Maybe SubmissionId))) - tableData ((participant `E.InnerJoin` course `E.InnerJoin` sheet) `E.LeftOuterJoin` submission) = do + tableData ((participant `E.InnerJoin` course `E.InnerJoin` sheet) `E.LeftOuterJoin` (submission `E.InnerJoin` subuser)) = do + E.on $ submission E.?. SubmissionId E.==. subuser E.?. SubmissionUserSubmission E.on $ E.just(sheet E.^. SheetId) E.==. submission E.?. SubmissionSheet E.on $ course E.^. CourseId E.==. sheet E.^. SheetCourse E.on $ course E.^. CourseId E.==. participant E.^. CourseParticipantCourse E.where_ $ participant E.^. CourseParticipantUser E.==. E.val uid E.&&. sheet E.^. SheetActiveTo E.<=. E.val fTime E.&&. sheet E.^. SheetActiveTo E.>=. E.val cTime + E.&&. ( + (subuser E.?. SubmissionUserUser E.==. (E.just $ E.val uid)) + E.||. + (E.isNothing $ subuser E.?. SubmissionUserUser) + ) -- E.limit nrSheetDeadlines return ( course E.^. CourseTerm @@ -182,7 +188,7 @@ homeUser uid = do , SortColumn $ \(_ `E.InnerJoin` _ `E.InnerJoin` sheet `E.LeftOuterJoin` _) -> sheet E.^. SheetActiveTo ) , ( "done" - , SortColumn $ \(_ `E.InnerJoin` _ `E.InnerJoin` _ `E.LeftOuterJoin` subm) -> E.isNothing $ subm E.?. SubmissionId + , SortColumn $ \(_ `E.InnerJoin` _ `E.InnerJoin` _ `E.LeftOuterJoin` (subm `E.InnerJoin` _)) -> E.isNothing $ subm E.?. SubmissionId ) ] , dbtFilter = mempty {- [ ( "term"