$# 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}