diff --git a/src/Handler/Sheet.hs b/src/Handler/Sheet.hs
index c0dc152d1..dec893ce7 100644
--- a/src/Handler/Sheet.hs
+++ b/src/Handler/Sheet.hs
@@ -200,7 +200,23 @@ getSheetListR tid ssh csh = do
]
psValidator = def
& defaultSorting [("submission-since", SortAsc)]
- (SheetTypeSummary{..}, table) <- dbTable psValidator $ DBTable
+ ------------------------------------------------------
+ -- ISSUE #223
+ -- The following line does not work; something is wrong with the tell in line 189 above.
+ -- (SheetTypeSummary{..}, table) <- dbTable psValidator $ DBTable
+ --
+ -- If fixed, remove the following workaround code:
+ SheetTypeSummary{..} <- do
+ rows <- runDB $ E.select $ E.from $ \(sheet `E.LeftOuterJoin` (submission `E.InnerJoin` submissionUser)) -> do
+ E.on $ submission E.?. SubmissionId E.==. submissionUser E.?. SubmissionUserSubmission
+ E.on $ (E.just $ sheet E.^. SheetId) E.==. submission E.?. SubmissionSheet
+ E.&&. submissionUser E.?. SubmissionUserUser E.==. E.val muid
+ E.where_ $ sheet E.^. SheetCourse E.==. E.val cid
+ return (sheet E.^. SheetType, submission E.?. SubmissionRatingPoints)
+ return $ foldMap (\(E.Value st, E.Value mbPts) -> sheetTypeSum st (join mbPts)) rows
+ (_, table) <- dbTable psValidator $ DBTable
+ -- END ISSUE #223
+ -----------------------------------------------------
{ dbtSQLQuery = sheetData
, dbtColonnade = sheetCol
, dbtProj = \DBRow{ dbrOutput = dbrOutput@(Entity _ Sheet{..}, _, _) }
diff --git a/templates/widgets/sheetTypeSummary.hamlet b/templates/widgets/sheetTypeSummary.hamlet
index f74f5dccf..4a86f9a34 100644
--- a/templates/widgets/sheetTypeSummary.hamlet
+++ b/templates/widgets/sheetTypeSummary.hamlet
@@ -1,33 +1,38 @@
$with realGrades <- normalSummary <> bonusSummary
$with allGrades <- realGrades <> informationalSummary
- $maybe realPoints <- positiveSum (sumGradePoints realGrades)
- Gesamtpunktzahl #{display realPoints}
- $maybe nPts <- getSum <$> achievedPoints realGrades
- \ davon #{display nPts} erreicht
- $maybe bPts <- getSum <$> achievedPoints bonusSummary
- \ (inklusive #{display bPts} #
- $maybe achievedBonus <- positiveSum (sumGradePoints bonusSummary)
- von #{display achievedBonus} erreichbaren #
- Bonuspunkten)
- \ #{textPercent $ realToFrac $ nPts / realPoints}
- $maybe fakePoints <- positiveSum (sumGradePoints informationalSummary)
-
Hinweis:
- \ #{display fakePoints} Punkte gab es für Aufgabenblätter, #
- welche nicht gewertet wurden, sondern nur informativen Charakter besitzen
- $maybe achievedFakes <- getSum <$> achievedPoints informationalSummary
- , davon wurden #{display achievedFakes} erreicht
- \ #{textPercent $ realToFrac $ achievedFakes / fakePoints}
- .
-
- $maybe reqPasses <- positiveSum (numGradePasses normalSummary)
- Aufgaben zum Bestehen: #{display reqPasses}
- $maybe passed <- getSum <$> achievedPasses realGrades
- \ davon #{display passed} bestanden
- $maybe bonusPassed <- getSum <$> achievedPasses bonusSummary
- \ (inklusive #{display bonusPassed} Bonusaufgaben)
- .
-
- $maybe noGradeSheets <- positiveSum numNotGraded
- #{display noGradeSheets} unbewertete Aufgabenblätter.
-
+
+ $maybe realPoints <- positiveSum (sumGradePoints realGrades)
+ -
+ Gesamtpunktzahl #{display realPoints}
+ $maybe nPts <- getSum <$> achievedPoints realGrades
+ \ davon #{display nPts} erreicht
+ $maybe bPts <- getSum <$> achievedPoints bonusSummary
+ \ (inklusive #{display bPts} #
+ $maybe achievedBonus <- positiveSum (sumGradePoints bonusSummary)
+ von #{display achievedBonus} erreichbaren #
+ Bonuspunkten)
+ \ #{textPercent $ realToFrac $ nPts / realPoints}
+ $maybe fakePoints <- positiveSum (sumGradePoints informationalSummary)
+
-
+ Hinweis:
+ \ #{display fakePoints} Punkte gab es für Aufgabenblätter, #
+ welche nicht gewertet wurden, sondern nur informativen Charakter besitzen
+ $maybe achievedFakes <- getSum <$> achievedPoints informationalSummary
+ , davon wurden #{display achievedFakes} erreicht
+ \ #{textPercent $ realToFrac $ achievedFakes / fakePoints}
+ .
+
+ $maybe reqPasses <- positiveSum (numGradePasses normalSummary)
+
-
+ Aufgaben zum Bestehen: #{display reqPasses}
+ $maybe passed <- getSum <$> achievedPasses realGrades
+ \ davon #{display passed} bestanden
+ $maybe bonusPassed <- getSum <$> achievedPasses bonusSummary
+ \ (inklusive #{display bonusPassed} Bonusaufgaben)
+ .
+
+ $maybe noGradeSheets <- positiveSum numNotGraded
+
-
+ #{display noGradeSheets} unbewertete Aufgabenblätter.
+