Fileinfo in AForm type troubles :(

This commit is contained in:
SJost 2018-01-04 23:20:28 +01:00
parent bc094dc813
commit 06a29205cd

View File

@ -36,24 +36,46 @@ data SheetForm = SheetForm
, sfMarkingText :: Maybe Text
, sfActiveFrom :: UTCTime
, sfActiveTo :: UTCTime
, sfHintFrom :: Maybe UTCTime
, sfSolutionFrom :: Maybe UTCTime
, sfSheetF :: Maybe FileInfo
, sfHintFrom :: Maybe UTCTime
, sfHintF :: Maybe FileInfo
, sfSolutionFrom :: Maybe UTCTime
, sfSolutionF :: Maybe FileInfo
}
{-
{- TODO: Problem wih fileAFormOpt
makeSheetForm :: CourseId -> Maybe SheetForm -> Form SheetForm
makeSheetForm cid template = identForm FIDsheet $ \html -> do
(result, widget) <- flip (renderBootstrap3 bsHorizontalDefault) html $ SheetForm
<$> areq hiddenField "KursId" $ Just cid
<*> areq textField (fsb "Name") (sfName <$> template)
<*> sheetTypeAFormReq (fsb "Bewertung") (sfType <$> template)
<*> aopt textField (fsb "Hinweise zur Bewertung") (sfMarkingText <$> template)
CONTINUE HERE
-}
(result, widget) <- flip (renderBootstrap3 bsHorizontalDefault) html $ SheetForm
<$> areq hiddenField "KursId" $ Just cid
<*> areq textField (fsb "Name") (sfName <$> template)
<*> sheetTypeAFormReq (fsb "Bewertung") (sfType <$> template)
<*> aopt textField (fsb "Hinweise zur Bewertung") (sfMarkingText <$> template)
<*> areq utcTimeField (fsb "Abgabe ab") (sfActiveFrom <$> template)
<*> areq utcTimeField (fsb "Abgabefrist") (sfActiveTo <$> template)
<*> fileAFormOpt (fsb "Aufgaben")
<*> aopt utcTimeField (fsb "Hinweis ab") (sfHintFrom <$> template)
<*> fileAFormOpt (fsb "Hinweis")
<*> aopt utcTimeField (fsb "Lösung ab") (sfSolutionFrom <$> template)
<*> fileAFormOpt (fsb "Lösung")
return $ case result of
FormSuccess sheetResult
| errorMsgs <- validateSheet sheetResult
, not $ null errorMsgs ->
(FormFailure errorMsgs,
[whamlet|
<div class="alert alert-danger">
<h4> Fehler:
<ul>
$forall errmsg <- errorMsgs
<li> #{errmsg}
^{widget}
|]
)
_ -> (result, widget)
where
validateSheet _ = []
-}
fetchSheet :: TermIdentifier -> Text -> Text -> YesodDB UniWorX (Entity Sheet)
fetchSheet tid csh shn = do