$# Displays one row of the grading summary
$# Expects several variables:
$# summary :: SheetGradeSummary -- summary to display
$# sumHeader :: UniWorXMessage -- row header
$# hasPasses :: Maybe Int -- Should Passing be displayed?
$# hasMarkedPasses :: Maybe Int -- Number of marked pass-sheets
$# hasPoints :: Maybe Points -- Should Points be displayed?
$# hasMarkedPoints :: Maybe Int -- Number of marked point-sheets
$#
$# TODO: Durschnittliche Punktzahl anzeigen
$# TODO: Extra-Spalte für Punkte Bewertet = numMarkedPoints / Punkte Gesamt = sumSheetPoints
$#
$maybe _ <- positiveSum $ summary ^. _numSheets
| _{sumHeader}
$maybe _ <- hasMarkedPasses
$with Sum pmax <- summary ^. _numMarkedPasses
$with Sum pacv <- summary ^. _achievedPasses
|
$if pmax > 0
#{textPercentInt pacv pmax}
|
#{display pacv} / #{display pmax}
$maybe _ <- hasPasses
|
#{display $ summary ^. _numSheetsPasses}
$maybe _ <- hasMarkedPoints
$with Sum pmax <- summary ^. _sumMarkedPoints
$with Sum pacv <- summary ^. _achievedPoints
|
$if pmax > 0
#{textPercent $ realToFrac $ pacv / pmax}
|
#{display pacv} / #{display pmax}
\ (_{title $ getSum $ summary ^. _numMarkedPoints})
$maybe _ <- hasPoints
|
#{display (summary ^. _sumSheetsPoints)}
\ (_{title $ getSum $ summary ^. _numSheetsPoints})
| #{display $ summary ^. _numSheets} |