Minor clarifications

This commit is contained in:
Steffen Jost 2019-05-08 10:14:49 +02:00
parent 6743e3b4d7
commit 2aa73b7694
5 changed files with 27 additions and 15 deletions

View File

@ -269,6 +269,8 @@ type MassInputLayout liveliness cellData cellResult
-> Map (Natural, BoxCoord liveliness) Widget -- Addition forms -> Map (Natural, BoxCoord liveliness) Widget -- Addition forms
-> Widget -> Widget
-- | Multiple multi-layerd input fields
-- May short-circuit a handler if the frontend only asks for the content, i.e. handler actions after calls to massInput may not happen at all.
massInput :: forall handler cellData cellResult liveliness. massInput :: forall handler cellData cellResult liveliness.
( MonadHandler handler, HandlerSite handler ~ UniWorX ( MonadHandler handler, HandlerSite handler ~ UniWorX
, ToJSON cellData, FromJSON cellData , ToJSON cellData, FromJSON cellData
@ -443,7 +445,7 @@ defaultMiLayout liveliness _ cellResults delResults addResults = miWidget' boxOr
cells cells
| [] <- remDims = do | [] <- remDims = do
coord <- coords coord <- coords
Just cellWdgt <- return $ Map.lookup coord cellResults Just cellWdgt <- return $ Map.lookup coord cellResults
let deleteButton = Map.lookup coord delResults let deleteButton = Map.lookup coord delResults
return (coord, $(widgetFile "widgets/massinput/cell")) return (coord, $(widgetFile "widgets/massinput/cell"))
| otherwise = | otherwise =

View File

@ -53,10 +53,11 @@ pathPieceCell = cell . toWidget . toPathPiece
sqlCell :: (IsDBTable (YesodDB UniWorX) a) => YesodDB UniWorX Widget -> DBCell (YesodDB UniWorX) a sqlCell :: (IsDBTable (YesodDB UniWorX) a) => YesodDB UniWorX Widget -> DBCell (YesodDB UniWorX) a
sqlCell act = mempty & cellContents .~ lift act sqlCell act = mempty & cellContents .~ lift act
-- | Highlight table cells with warning: Is not yet implemented in frontend.
markCell :: (IsDBTable m a) => (t -> Bool) -> (t -> DBCell m a) -> (t -> DBCell m a) markCell :: (IsDBTable m a) => (t -> Bool) -> (t -> DBCell m a) -> (t -> DBCell m a)
markCell condition normal x markCell condition normal x
| condition x = normal x <> cell (isVisibleWidget False) | condition x = normal x & cellAttrs <>~ [("class","urgency__warning")] ---TODO: handle existing classe akin to Form.addAttr/addClass
| otherwise = normal x | otherwise = normal x
ifCell :: (IsDBTable m a) => (t -> Bool) -> (t -> DBCell m a) -> (t -> DBCell m a) -> (t -> DBCell m a) ifCell :: (IsDBTable m a) => (t -> Bool) -> (t -> DBCell m a) -> (t -> DBCell m a) -> (t -> DBCell m a)
ifCell decision cTrue cFalse x ifCell decision cTrue cFalse x
@ -103,9 +104,10 @@ dateTimeCell t = cell $ formatTime SelFormatDateTime t >>= toWidget
dateTimeCellVisible :: IsDBTable m a => UTCTime -> UTCTime -> DBCell m a dateTimeCellVisible :: IsDBTable m a => UTCTime -> UTCTime -> DBCell m a
dateTimeCellVisible watershed t = cell $ do dateTimeCellVisible watershed t = cell $ do
tfw <- formatTime SelFormatDateTime t >>= toWidget let tfw = formatTimeW SelFormatDateTime t
icn <- bool mempty (toWidget $ isVisible False) $ watershed < t icn :: Widget
return $ tfw <> icn icn = bool mempty (toWidget $ isVisible False) $ watershed < t
[whamlet|^{tfw}&nbsp;^{icn}|]
userCell :: IsDBTable m a => Text -> Text -> DBCell m a userCell :: IsDBTable m a => Text -> Text -> DBCell m a
userCell displayName surname = cell $ nameWidget displayName surname userCell displayName surname = cell $ nameWidget displayName surname

View File

@ -613,7 +613,7 @@ instance Monoid' x => Monoid (DBCell (RWST (Maybe (Env, FileEnv), UniWorX, [Lang
instance IsDBTable m a => IsString (DBCell m a) where instance IsDBTable m a => IsString (DBCell m a) where
fromString = cell . fromString fromString = cell . fromString
-- | DB-backed tables with pagination, may short-circuit a handler -- | DB-backed tables with pagination, may short-circuit a handler if the frontend only asks for the table content, i.e. handler actions after calls to dbTable may not happen at all.
dbTable :: forall m x. IsDBTable m x => PSValidator m x -> DBTable m x -> DB (DBResult m x) dbTable :: forall m x. IsDBTable m x => PSValidator m x -> DBTable m x -> DB (DBResult m x)
dbTable PSValidator{..} dbtable@DBTable{ dbtIdent = dbtIdent'@(toPathPiece -> dbtIdent), dbtStyle = DBStyle{..}, .. } = do dbTable PSValidator{..} dbtable@DBTable{ dbtIdent = dbtIdent'@(toPathPiece -> dbtIdent), dbtStyle = DBStyle{..}, .. } = do
let let

View File

@ -175,12 +175,22 @@ $newline text
Studierenden ein neues Pseudonym Studierenden ein neues Pseudonym
erstellen, damit eine anonyme Korrektur erstellen, damit eine anonyme Korrektur
gewährleistet werden kann. gewährleistet werden kann.
Dadurch wird aber noch keine Abgabe im System angelegt,
da ich nicht alle Teilnehmer, welche ein Pseudonym anfordern,
auch tatsächlich abgeben.
<li> <li>
Korrektoren bekommen die externen Abgaben <p>
ausgehändigt. Korrektoren bekommen die externen Abgaben
Anhand der Pseudonyme werden ausgehändigt.
in Uni2work Abgaben angelegt, Anhand der Pseudonyme
welche wie üblich korrigiert werden können. muss der Korrektor dann in Uni2work
<a href="@{CorrectionsCreateR}">
Abgaben anlegen
, welche danach wie üblich korrigiert werden können.
<p>
Solche angelgten Abgaben werden bei der nächsten
Verteilung von Übungsblättern
dem jeweiligen Korrektor zum Arbeitspensum angerechnet.
<section> <section>
<h2>Tutorien <h2>Tutorien

View File

@ -7,10 +7,8 @@
<h2> <h2>
Bekannte Bugs Bekannte Bugs
<h3> <h3>
Stand: März 2019 Stand: Mai 2019
<ul> <ul>
<li>
Login ist u.U. anders als im alten System, z.B. momentan geht nur <span style="font-family:monospace">@campus.lmu.de</span> aber nicht die Abkürzung <span style="font-family:monospace">@lmu.de</span>
<li> <li>
Format von Bewertungsdateien ist noch provisorisch Format von Bewertungsdateien ist noch provisorisch