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