From dc5fc3f710363f0644c43866505e32095b41ce92 Mon Sep 17 00:00:00 2001 From: ros Date: Fri, 25 Jun 2021 14:47:25 +0200 Subject: [PATCH] feat(course material): merge-request suggestions --- .../categories/courses/material/de-de-formal.msg | 2 +- .../uniworx/categories/courses/material/en-eu.msg | 2 +- src/Handler/Material.hs | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/messages/uniworx/categories/courses/material/de-de-formal.msg b/messages/uniworx/categories/courses/material/de-de-formal.msg index 7d3ab8df6..6e244f71c 100644 --- a/messages/uniworx/categories/courses/material/de-de-formal.msg +++ b/messages/uniworx/categories/courses/material/de-de-formal.msg @@ -31,4 +31,4 @@ MaterialFree: Kursmaterialien ohne Anmeldung zugänglich AccessibleSince: Verfügbar seit VisibleFrom: Veröffentlicht FilterMaterialNameSearch !ident-ok: Name -FilterMaterialTypeAndDescriptionSearch: Art und Beschreibung \ No newline at end of file +FilterMaterialTypeAndDescriptionSearch: Art/Beschreibung \ No newline at end of file diff --git a/messages/uniworx/categories/courses/material/en-eu.msg b/messages/uniworx/categories/courses/material/en-eu.msg index 55d202c82..4fa16fd7e 100644 --- a/messages/uniworx/categories/courses/material/en-eu.msg +++ b/messages/uniworx/categories/courses/material/en-eu.msg @@ -31,4 +31,4 @@ MaterialFree: Course material is publicly available. AccessibleSince: Accessible since VisibleFrom: Published FilterMaterialNameSearch !ident-ok: Name -FilterMaterialTypeAndDescriptionSearch: Type and description \ No newline at end of file +FilterMaterialTypeAndDescriptionSearch: Type/description \ No newline at end of file diff --git a/src/Handler/Material.hs b/src/Handler/Material.hs index 0a8edb3a7..31336fe1c 100644 --- a/src/Handler/Material.hs +++ b/src/Handler/Material.hs @@ -106,7 +106,7 @@ getMaterialListR tid ssh csh = do E.where_ $ material E.^. MaterialCourse E.==. E.val cid E.&&. E.not_ (E.isNothing $ material E.^. MaterialType) return $ material E.^. MaterialType - return . mkOptionList $ map (\t -> Option t t t) (map CI.original (Set.toAscList (Set.fromList (mapMaybe E.unValue previouslyUsed)))) + return . mkOptionList . map (\(CI.original -> t) -> Option t t t) . Set.toAscList . Set.fromList $ mapMaybe E.unValue previouslyUsed let row2material = view $ _dbrOutput . _1 . _entityVal psValidator = def & defaultSorting [SortDescBy "last-edit"] & forceFilter "may-access" (Any True) @@ -148,15 +148,15 @@ getMaterialListR tid ssh csh = do , ( "last-edit" , SortColumn (E.^. MaterialLastEdit) ) ] , dbtFilter = mconcat - [ (singletonMap "may-access" . mkFilterProjectedPost $ \(Any b) dbr - -> (== b) <$> hasReadAccessTo (matLink . materialName $ row2material dbr) :: DB Bool) - , (singletonMap "name". FilterColumn $ \material criterion -> case getLast (criterion :: Last Text) of + [ singletonMap "may-access" . mkFilterProjectedPost $ \(Any b) dbr + -> (== b) <$> hasReadAccessTo (matLink . materialName $ row2material dbr) :: DB Bool + , singletonMap "name". FilterColumn $ \material criterion -> case getLast (criterion :: Last Text) of Nothing -> E.val True :: E.SqlExpr (E.Value Bool) - Just needle -> (E.castString (material E.^. MaterialName) `E.ilike` (E.%) E.++. E.val needle E.++. (E.%))) - , (singletonMap "type-and-description". FilterColumn $ \material criterion -> case getLast (criterion :: Last Text) of + Just needle -> (E.castString (material E.^. MaterialName) `E.ilike` (E.%) E.++. E.val needle E.++. (E.%)) + , singletonMap "type-and-description". FilterColumn $ \material criterion -> case getLast (criterion :: Last Text) of Nothing -> E.val True :: E.SqlExpr (E.Value Bool) Just needle -> (E.maybe (E.val mempty) E.castString (material E.^. MaterialType) `E.ilike` (E.%) E.++. E.val needle E.++. (E.%)) - E.||. (E.maybe (E.val mempty) (E.castString.esqueletoMarkupOutput) (material E.^. MaterialDescription) `E.ilike` (E.%) E.++. E.val needle E.++. (E.%))) + E.||. (E.maybe (E.val mempty) (E.castString.esqueletoMarkupOutput) (material E.^. MaterialDescription) `E.ilike` (E.%) E.++. E.val needle E.++. (E.%)) ] , dbtFilterUI = \mPrev -> mconcat $ catMaybes [ Just $ prismAForm (singletonFilter "name") mPrev $ aopt textField (fslI MsgFilterMaterialNameSearch)