diff --git a/src/Data/Fixed/Instances.hs b/src/Data/Fixed/Instances.hs new file mode 100644 index 000000000..03afaeb0e --- /dev/null +++ b/src/Data/Fixed/Instances.hs @@ -0,0 +1,13 @@ +{-# OPTIONS_GHC -fno-warn-orphans #-} + +module Data.Fixed.Instances + ( + ) where + +import ClassyPrelude +import Data.Fixed + +import Text.Blaze (ToMarkup(..)) + +instance HasResolution a => ToMarkup (Fixed a) where + toMarkup = toMarkup . showFixed True \ No newline at end of file diff --git a/src/Data/Sum/Instances.hs b/src/Data/Sum/Instances.hs new file mode 100644 index 000000000..81c99f393 --- /dev/null +++ b/src/Data/Sum/Instances.hs @@ -0,0 +1,13 @@ +{-# OPTIONS_GHC -fno-warn-orphans #-} + +module Data.Sum.Instances + ( + ) where + +import ClassyPrelude +import Data.Monoid (Sum(..)) + +import Text.Blaze (ToMarkup(..)) + +instance ToMarkup a => ToMarkup (Sum a) where + toMarkup = toMarkup . getSum \ No newline at end of file diff --git a/src/Foundation.hs b/src/Foundation.hs index 885a060de..15a35a2bb 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -218,7 +218,6 @@ maybeDisplay :: DisplayAble m => Text -> Maybe m -> Text -> Text maybeDisplay _ Nothing _ = mempty maybeDisplay before (Just x) after = before <> (display x) <> after --- TODO: decouple from DisplayAble -- Messages creates type UniWorXMessage and RenderMessage UniWorX instance mkMessage "UniWorX" "messages/uniworx" "de" mkMessageVariant "UniWorX" "Campus" "messages/campus" "de" diff --git a/src/Import/NoModel.hs b/src/Import/NoModel.hs index 79000ecfe..9753d0e75 100644 --- a/src/Import/NoModel.hs +++ b/src/Import/NoModel.hs @@ -78,6 +78,8 @@ import Data.NonNull.Instances as Import () import Data.Monoid.Instances as Import () import Data.Maybe.Instances as Import () import Data.CryptoID.Instances as Import () +import Data.Sum.Instances as Import () +import Data.Fixed.Instances as Import () import Data.Set.Instances as Import () import Data.HashMap.Strict.Instances as Import () import Data.HashSet.Instances as Import () diff --git a/src/Utils.hs b/src/Utils.hs index 8f5f6c901..344b8f510 100644 --- a/src/Utils.hs +++ b/src/Utils.hs @@ -261,16 +261,9 @@ instance DisplayAble Rational where rat2float :: Rational -> Double rat2float = fromRational -instance DisplayAble a => DisplayAble (Maybe a) where - display Nothing = "" - display (Just x) = display x - instance HasResolution a => DisplayAble (Fixed a) where display = pack . showFixed True -instance DisplayAble a => DisplayAble (Sum a) where - display = display . getSum - {- We do not want DisplayAble for every Show-Class: We want to explicitly verify that the resulting text can be displayed to the User! For example: UTCTime values were shown without proper format rendering! diff --git a/templates/widgets/grading-summary/grading-summary-row.hamlet b/templates/widgets/grading-summary/grading-summary-row.hamlet index 261b98e1a..fd6c9f73f 100644 --- a/templates/widgets/grading-summary/grading-summary-row.hamlet +++ b/templates/widgets/grading-summary/grading-summary-row.hamlet @@ -42,13 +42,13 @@ $# $# Falls Anzahl Blätter der Zeile verschieden von Anzahl gewerterer Blätter \ (_{title $ getSum $ summary ^. _numMarkedPoints}) $# Kurze Alternative mit Hashtag-Symbol für "Anzahl" - $# \ (##{display $ summary ^. _numMarkedPoints}) + $# \ (##{summary ^. _numMarkedPoints}) $maybe _ <- hasPoints - #{display (summary ^. _sumSheetsPoints)} + #{summary ^. _sumSheetsPoints} $if ((summary ^. _numSheetsPoints) /= (summary ^. _numSheets)) $# Falls Anzahl Blätter der Zeile verschieden von Anzahl Blätter mit Punkten \ (_{title $ getSum $ summary ^. _numSheetsPoints}) $# Kurze Alternative mit Hashtag-Symbol für "Anzahl" - $# \ (##{display $ summary ^. _numSheetsPoints}) - #{display $ summary ^. _numSheets} + $# \ (##{summary ^. _numSheetsPoints}) + #{summary ^. _numSheets}