Workaround for unfixed issue #223

This commit is contained in:
SJost 2018-11-01 17:01:40 +01:00
parent fee11f99cb
commit e4e5b543a5
2 changed files with 52 additions and 31 deletions

View File

@ -200,7 +200,23 @@ getSheetListR tid ssh csh = do
] ]
psValidator = def psValidator = def
& defaultSorting [("submission-since", SortAsc)] & 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 { dbtSQLQuery = sheetData
, dbtColonnade = sheetCol , dbtColonnade = sheetCol
, dbtProj = \DBRow{ dbrOutput = dbrOutput@(Entity _ Sheet{..}, _, _) } , dbtProj = \DBRow{ dbrOutput = dbrOutput@(Entity _ Sheet{..}, _, _) }

View File

@ -1,7 +1,9 @@
$with realGrades <- normalSummary <> bonusSummary $with realGrades <- normalSummary <> bonusSummary
$with allGrades <- realGrades <> informationalSummary $with allGrades <- realGrades <> informationalSummary
<div> <div>
<ul>
$maybe realPoints <- positiveSum (sumGradePoints realGrades) $maybe realPoints <- positiveSum (sumGradePoints realGrades)
<li>
Gesamtpunktzahl #{display realPoints} Gesamtpunktzahl #{display realPoints}
$maybe nPts <- getSum <$> achievedPoints realGrades $maybe nPts <- getSum <$> achievedPoints realGrades
\ davon #{display nPts} erreicht \ davon #{display nPts} erreicht
@ -12,6 +14,7 @@ $with realGrades <- normalSummary <> bonusSummary
Bonuspunkten) Bonuspunkten)
\ #{textPercent $ realToFrac $ nPts / realPoints} \ #{textPercent $ realToFrac $ nPts / realPoints}
$maybe fakePoints <- positiveSum (sumGradePoints informationalSummary) $maybe fakePoints <- positiveSum (sumGradePoints informationalSummary)
<li>
<em>Hinweis: <em>Hinweis:
\ #{display fakePoints} Punkte gab es für Aufgabenblätter, # \ #{display fakePoints} Punkte gab es für Aufgabenblätter, #
welche nicht gewertet wurden, sondern nur informativen Charakter besitzen welche nicht gewertet wurden, sondern nur informativen Charakter besitzen
@ -19,15 +22,17 @@ $with realGrades <- normalSummary <> bonusSummary
, davon wurden #{display achievedFakes} erreicht , davon wurden #{display achievedFakes} erreicht
\ #{textPercent $ realToFrac $ achievedFakes / fakePoints} \ #{textPercent $ realToFrac $ achievedFakes / fakePoints}
. .
<div>
$maybe reqPasses <- positiveSum (numGradePasses normalSummary) $maybe reqPasses <- positiveSum (numGradePasses normalSummary)
<li>
Aufgaben zum Bestehen: #{display reqPasses} Aufgaben zum Bestehen: #{display reqPasses}
$maybe passed <- getSum <$> achievedPasses realGrades $maybe passed <- getSum <$> achievedPasses realGrades
\ davon #{display passed} bestanden \ davon #{display passed} bestanden
$maybe bonusPassed <- getSum <$> achievedPasses bonusSummary $maybe bonusPassed <- getSum <$> achievedPasses bonusSummary
\ (inklusive #{display bonusPassed} Bonusaufgaben) \ (inklusive #{display bonusPassed} Bonusaufgaben)
. .
<div>
$maybe noGradeSheets <- positiveSum numNotGraded $maybe noGradeSheets <- positiveSum numNotGraded
<li>
#{display noGradeSheets} unbewertete Aufgabenblätter. #{display noGradeSheets} unbewertete Aufgabenblätter.