Submission edit times are shown now.
This commit is contained in:
parent
917d767d30
commit
f3aa2b32c9
@ -30,7 +30,7 @@ OnlyUploadOneFile: Bitte nur eine Datei hochladen.
|
||||
|
||||
SubmissionWrongSheet: Abgabenummer gehört nicht zum angegebenen Übungsblatt.
|
||||
SubmissionAlreadyExists: Sie haben bereits eine Abgabe zu diesem Übungsblatt.
|
||||
SubmissionTitle tid@TermIdentifier courseShortHand@Text sheetName@Text: #{termToText tid}-#{courseShortHand} #{sheetName}: Abgabe
|
||||
SubmissionTitle tid@TermIdentifier courseShortHand@Text sheetName@Text: #{termToText tid}-#{courseShortHand} #{sheetName}: Abgabe editieren/anlegen
|
||||
SubmissionMember g@Int: Mitabgebende(r) ##{tshow g}
|
||||
SubmissionArchive: Zip-Archiv der Abgabedatei(en)
|
||||
SubmissionFile: Datei zur Abgabe
|
||||
|
||||
@ -74,7 +74,7 @@ getSubmissionR = postSubmissionR
|
||||
postSubmissionR tid csh shn (SubmissionMode mcid) = do
|
||||
uid <- requireAuthId
|
||||
msmid <- traverse decrypt mcid
|
||||
(Entity shid Sheet{..}, buddies, oldfiles) <- runDB $ do
|
||||
(Entity shid Sheet{..}, buddies, oldfiles,lastEdits) <- runDB $ do
|
||||
sheet@(Entity shid Sheet{..}) <- fetchSheet tid csh shn
|
||||
case msmid of
|
||||
Nothing -> do
|
||||
@ -83,7 +83,7 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
|
||||
E.where_ $ submissionUser E.^. SubmissionUserUserId E.==. E.val uid
|
||||
E.&&. submission E.^. SubmissionSheetId E.==. E.val shid
|
||||
return $ submission E.^. SubmissionId
|
||||
$logDebugS "Submission.DUPLICATENEW" (tshow submissions)
|
||||
-- $logDebugS "Submission.DUPLICATENEW" (tshow submissions)
|
||||
case submissions of
|
||||
[] -> do
|
||||
-- fetch buddies from previous submission in this course
|
||||
@ -102,7 +102,7 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
|
||||
E.&&. submissionUser E.^. SubmissionUserUserId E.!=. E.val uid
|
||||
E.orderBy [E.asc $ user E.^. UserEmail]
|
||||
return $ user E.^. UserEmail
|
||||
return (sheet,buddies,[])
|
||||
return (sheet,buddies,[],[])
|
||||
(E.Value smid:_) -> do
|
||||
cID <- encrypt smid
|
||||
addMessageI "info" $ MsgSubmissionAlreadyExists
|
||||
@ -118,7 +118,15 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
|
||||
E.orderBy [E.asc $ user E.^. UserEmail]
|
||||
return $ user E.^. UserEmail
|
||||
oldfiles <- sourceToList $ submissionFileSource smid
|
||||
return (sheet,buddies,oldfiles)
|
||||
-- mLastEdit <- selectFirst [SubmissionEditSubmission ==. smid] [Desc SubmissionEditTime]
|
||||
lastEditValues <- E.select . E.from $ \(user `E.InnerJoin` submissionEdit) -> do
|
||||
E.on (user E.^. UserId E.==. submissionEdit E.^. SubmissionEditUser)
|
||||
E.where_ $ submissionEdit E.^. SubmissionEditSubmission E.==. E.val smid
|
||||
E.orderBy [E.desc $ submissionEdit E.^. SubmissionEditTime]
|
||||
E.limit 1
|
||||
return $ (user E.^. UserDisplayName, submissionEdit E.^. SubmissionEditTime)
|
||||
let lastEdits = map (\(a,b)-> (E.unValue a, E.unValue b)) lastEditValues
|
||||
return (sheet,buddies,oldfiles,lastEdits)
|
||||
let unpackZips = True -- undefined -- TODO
|
||||
((res,formWidget), formEnctype) <- runFormPost $ makeSubmissionForm unpackZips sheetGrouping $ map E.unValue buddies
|
||||
mCID <- runDB $ do
|
||||
@ -191,7 +199,6 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
|
||||
Nothing -> return ()
|
||||
|
||||
mArCid <- fmap ZIPArchiveName <$> traverse encrypt msmid
|
||||
let mCidArCid = (,) <$> mcid <*> mArCid
|
||||
|
||||
let pageTitle = MsgSubmissionTitle (unTermKey tid) csh shn
|
||||
let formTitle = pageTitle
|
||||
@ -201,17 +208,17 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
|
||||
setTitleI pageTitle
|
||||
$(widgetFile "formPageI18n")
|
||||
[whamlet|
|
||||
$maybe (cid, arCid) <-mCidArCid
|
||||
$maybe arCid <- mArCid
|
||||
<hr>
|
||||
<h2>
|
||||
<a href=@{SubmissionDownloadArchiveR arCid}>Archiv
|
||||
<h3>Enthaltene Dateien:
|
||||
$forall (Entity _ File{..}) <- oldfiles
|
||||
<a href=@{SubmissionDownloadSingleR cid fileTitle}>
|
||||
#{fileTitle}
|
||||
<h2>
|
||||
Last Edits
|
||||
TODO
|
||||
$maybe cid <- mcid
|
||||
<h3>Enthaltene Dateien:
|
||||
$forall (Entity _ File{..}) <- oldfiles
|
||||
<a href=@{SubmissionDownloadSingleR cid fileTitle}>
|
||||
#{fileTitle}
|
||||
$forall (name,time) <- lastEdits
|
||||
<div>last edited by #{name} at #{formatTimeGerWDT time}
|
||||
|]
|
||||
|
||||
|
||||
|
||||
@ -49,6 +49,12 @@ whenIsJust :: Monad m => Maybe a -> (a -> m ()) -> m ()
|
||||
whenIsJust (Just x) f = f x
|
||||
whenIsJust Nothing _ = return ()
|
||||
|
||||
------------
|
||||
-- Tuples --
|
||||
------------
|
||||
|
||||
both :: (a -> b) -> (a,a) -> (b,b)
|
||||
both f (x,y) = (f x, f y)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
Loading…
Reference in New Issue
Block a user