From bb552c472f97a4de5b4b396f3851fa41c2c2cb21 Mon Sep 17 00:00:00 2001 From: SJost Date: Thu, 21 Feb 2019 16:11:04 +0100 Subject: [PATCH] TEST: Does ist build with everything except for `makeClassy ''Entity`? Probably the functional dependency is to blame?! --- src/Handler/Course.hs | 19 ++++++++++--------- src/Handler/Utils/Table/Cells.hs | 9 ++++----- src/Utils/Lens.hs | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index bfa554762..fe31596d1 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -632,10 +632,11 @@ userTableQuery whereClause returnStatement t@((user `E.InnerJoin` participant) ` E.where_ $ whereClause t return $ returnStatement t --- TEST HADDOCK --- instance HasUser UserTableData where --- hasUser = _entityVal --- +instance HasUser UserTableData where + -- hasUser = _entityVal + hasUser = _dbrOutput . _1 . _entityVal + + -- TEST HADDOCK -- instance HasEntity UserTableData User where -- hasEntity = _dbrOutput . _1 @@ -651,17 +652,17 @@ courseIs cid ((_user `E.InnerJoin` participant) `E.LeftOuterJoin` _note) = parti -- colUserParticipant' = sortable (Just "participant") (i18nCell MsgCourseMember) -- $ \DBRow { dbrOutput=(Entity _ user,_,_) } -> userCell (userDisplayName user) (userSurname user) --- TEST HADDOCK --- colUserParticipant :: IsDBTable m a => Colonnade _ UserTableData (DBCell m a) --- colUserParticipant = sortable (Just "participant") (i18nCell MsgCourseMember) cellHasUser + +colUserParticipant :: IsDBTable m a => Colonnade _ UserTableData (DBCell m a) +colUserParticipant = sortable (Just "participant") (i18nCell MsgCourseMember) cellHasUser -- colUserParticipantLink :: IsDBTable m a => TermId -> SchoolId -> CourseShorthand -> Colonnade _ UserTableData (DBCell m a) -- colUserParticipantLink tid ssh csh = sortable (Just "participant") (i18nCell MsgCourseMember) (cellHasUserLink courseLink) -- where -- courseLink = CourseR tid ssh csh . CUserR --- colUserMatriclenr :: IsDBTable m a => Colonnade _ UserTableData (DBCell m a) --- colUserMatriclenr = sortable (Just "matriclenumber") (i18nCell MsgMatrikelNr) cellHasMatrikelnummer +colUserMatriclenr :: IsDBTable m a => Colonnade _ UserTableData (DBCell m a) +colUserMatriclenr = sortable (Just "matriclenumber") (i18nCell MsgMatrikelNr) cellHasMatrikelnummer colUserComment :: IsDBTable m a => TermId -> SchoolId -> CourseShorthand -> Colonnade _ UserTableData (DBCell m a) colUserComment tid ssh csh = diff --git a/src/Handler/Utils/Table/Cells.hs b/src/Handler/Utils/Table/Cells.hs index a2b4ec387..e4de18458 100644 --- a/src/Handler/Utils/Table/Cells.hs +++ b/src/Handler/Utils/Table/Cells.hs @@ -34,9 +34,8 @@ timeCell t = cell $ formatTime SelFormatDateTime t >>= toWidget userCell :: IsDBTable m a => Text -> Text -> DBCell m a userCell displayName surname = cell $ nameWidget displayName surname --- TEST HADDOCK --- cellHasUser :: (IsDBTable m a, HasUser c) => c -> DBCell m a --- cellHasUser = liftA2 userCell (view _userDisplayName) (view _userSurname) +cellHasUser :: (IsDBTable m a, HasUser c) => c -> DBCell m a +cellHasUser = liftA2 userCell (view _userDisplayName) (view _userSurname) -- cellHasUserLink :: (IsDBTable m a, HasEntity u User) => (CryptoUUIDUser -> Route UniWorX) -> u -> DBCell m a -- cellHasUserLink toLink user = @@ -44,8 +43,8 @@ userCell displayName surname = cell $ nameWidget displayName surname -- nWdgt = nameWidget (user ^. _entityVal . _userDisplayName) (user ^. _entityVal . _userSurname) -- in anchorCellM (toLink <$> encrypt uid) nWdgt --- cellHasMatrikelnummer :: (IsDBTable m a, HasUser c) => c -> DBCell m a --- cellHasMatrikelnummer = maybe mempty textCell . view _userMatrikelnummer +cellHasMatrikelnummer :: (IsDBTable m a, HasUser c) => c -> DBCell m a +cellHasMatrikelnummer = maybe mempty textCell . view _userMatrikelnummer -- Just for documentation purposes; inline this code instead: maybeTimeCell :: IsDBTable m a => Maybe UTCTime -> DBCell m a diff --git a/src/Utils/Lens.hs b/src/Utils/Lens.hs index b8924a19a..500f6329f 100644 --- a/src/Utils/Lens.hs +++ b/src/Utils/Lens.hs @@ -26,8 +26,8 @@ _InnerJoinRight :: Lens' (E.InnerJoin l r) r _InnerJoinRight f (E.InnerJoin l r) = (l `E.InnerJoin`) <$> f r --- makeLenses_ ''Entity -makeClassyFor_ "HasEntity" "hasEntity" ''Entity +makeLenses_ ''Entity +-- makeClassyFor_ "HasEntity" "hasEntity" ''Entity -- class HasEntity c record | c -> record where -- hasEntity :: Lens' c (Entity record)