diff --git a/src/Handler/LMS.hs b/src/Handler/LMS.hs index 5bd55d275..81395527c 100644 --- a/src/Handler/LMS.hs +++ b/src/Handler/LMS.hs @@ -338,7 +338,7 @@ lmsTableQuery qid (qualUser `E.InnerJoin` user `E.LeftOuterJoin` lmsUser) = do E.on $ user E.^. UserId E.=?. lmsUser E.?. LmsUserUser E.&&. E.val qid E.=?. lmsUser E.?. LmsUserQualification -- NOTE: condition was once erroneously placed in where-clause, which does not work E.on $ user E.^. UserId E.==. qualUser E.^. QualificationUserUser - E.where_ $ E.val qid E.==. qualUser E.^. QualificationUserQualification + -- E.where_ $ E.val qid E.==. qualUser E.^. QualificationUserQualification -- TODO: decide whether to use subSelect or LeftOuterJoin and delete the other! -- Letztes Datum anzeigen, wenn mehrere, dann diese in klickbaren Tooltip verstecken! -- let printAcknowledged = E.subSelectMaybe . E.from $ \pj -> do @@ -366,12 +366,11 @@ mkLmsTable :: forall h p cols act act'. ) => Bool -> Entity Qualification - -> Map act (AForm Handler act') - -> (LmsTableExpr -> E.SqlExpr (E.Value Bool)) + -> Map act (AForm Handler act') -> cols -> PSValidator (MForm Handler) (FormResult (First act', DBFormResult UserId Bool LmsTableData)) -> DB (FormResult (act', Set UserId), Widget) -mkLmsTable isAdmin (Entity qid quali) acts restrict cols psValidator = do +mkLmsTable isAdmin (Entity qid quali) acts cols psValidator = do now <- liftIO getCurrentTime -- currentRoute <- fromMaybe (error "mkLmsAllTable called from 404-handler") <$> liftHandler getCurrentRoute -- we know the route here let @@ -381,7 +380,7 @@ mkLmsTable isAdmin (Entity qid quali) acts restrict cols psValidator = do csvName = T.replace " " "-" $ CI.original (quali ^. _qualificationName) dbtIdent :: Text dbtIdent = "qualification" - dbtSQLQuery q = lmsTableQuery qid q <* E.where_ (restrict q) + dbtSQLQuery q = lmsTableQuery qid q dbtRowKey = queryUser >>> (E.^. UserId) dbtProj = dbtProjId -- dbtProjFilteredPostId -- dbtProj = (views _dbtProjRow . set _dbrOutput) =<< do @@ -574,7 +573,7 @@ postLmsR sid qsh = do -- i18nLms :: (RenderMessage UniWorX msg, IsDBTable m a) => msg -> DBCell m a _i18nLms msg = cell [whamlet|LMS #|] <> i18nCell msg psValidator = def & defaultPagesize (PagesizeLimit 10) -- & forceFilter "may-access" (Any True) - tbl <- mkLmsTable isAdmin qent acts (const E.true) colChoices psValidator + tbl <- mkLmsTable isAdmin qent acts colChoices psValidator return (tbl, qent) formResult lmsRes $ \case