diff --git a/src/Handler/Submission.hs b/src/Handler/Submission.hs index 7aadaa67c..6e1158686 100644 --- a/src/Handler/Submission.hs +++ b/src/Handler/Submission.hs @@ -57,7 +57,7 @@ makeSubmissionForm unpackZips grouping buddies = identForm FIDsubmission $ \html <$> areq (zipFileField unpackZips) (fsm $ bool MsgSubmissionFile MsgSubmissionArchive unpackZips) Nothing <*> (catMaybes <$> sequenceA [bool aforced' aopt editableBuddies textField (fsm $ MsgSubmissionMember g) buddy | g <- [1..(max groupNr $ length buddies)] -- groupNr might have decreased meanwhile - | buddy <- map (Just . Just) buddies ++ repeat Nothing -- show current buddies + | buddy <- map (Just . Just) buddies ++ repeat Nothing -- show current buddies ]) <* submitButton where @@ -74,7 +74,7 @@ getSubmissionR = postSubmissionR postSubmissionR tid csh shn (SubmissionMode mcid) = do uid <- requireAuthId msmid <- traverse decrypt mcid - (Entity shid Sheet{..}, buddies) <- runDB $ do + (Entity shid Sheet{..}, buddies, oldfiles) <- runDB $ do sheet@(Entity shid Sheet{..}) <- fetchSheet tid csh shn case msmid of Nothing -> do @@ -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 @@ -117,7 +117,8 @@ 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) + oldfiles <- sourceToList $ submissionFileSource smid + return (sheet,buddies,oldfiles) let unpackZips = True -- undefined -- TODO ((res,formWidget), formEnctype) <- runFormPost $ makeSubmissionForm unpackZips sheetGrouping $ map E.unValue buddies mCID <- runDB $ do @@ -189,6 +190,9 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do Just cID -> redirect $ CourseR tid csh $ SheetR $ SubmissionR shn $ SubmissionMode $ Just cID Nothing -> return () + mArCid <- fmap (CI.original . ciphertext) <$> traverse encrypt msmid + let mCidArCid = (,) <$> mcid <*> mArCid + let pageTitle = MsgSubmissionTitle (unTermKey tid) csh shn let formTitle = pageTitle let formText = Nothing :: Maybe UniWorXMessage @@ -196,12 +200,34 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do defaultLayout $ do setTitleI pageTitle $(widgetFile "formPageI18n") + [whamlet| + $maybe (cid, arCid) <-mCidArCid +