Bugfix: edit submission buddies

This commit is contained in:
SJost 2018-04-26 11:57:28 +02:00
parent e98cf70400
commit 988ee74fa8

View File

@ -124,7 +124,7 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = 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
E.limit 10
return $ (user E.^. UserDisplayName, submissionEdit E.^. SubmissionEditTime)
let lastEdits = map (bimap E.unValue E.unValue) lastEditValues
return (sheet,buddies,oldfiles,lastEdits)
@ -174,10 +174,6 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
now <- liftIO $ getCurrentTime
smid <- do
smid <- runConduit $ transPipe lift files .| Conduit.map Left .| sinkSubmission shid uid ((,False) <$> msmid)
insertUnique $ SubmissionUser uid smid
-- insert $ SubmissionEdit uid now smid -- sinkSubmission already does this
-- Determine members of pre-registered group
groupUids <- fmap (setFromList . map E.unValue) . E.select . E.from $ \(submissionGroupUser `E.InnerJoin` submissionGroup `E.InnerJoin` submissionGroupUser') -> do
E.on $ submissionGroup E.^. SubmissionGroupId E.==. submissionGroupUser' E.^. SubmissionGroupUserSubmissionGroup
@ -185,10 +181,12 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
E.where_ $ submissionGroupUser E.^. SubmissionGroupUserUser E.==. E.val uid
E.&&. submissionGroup E.^. SubmissionGroupCourse E.==. E.val sheetCourse
return $ submissionGroupUser' E.^. SubmissionGroupUserUser
-- SubmissionUser for all group members (pre-registered & ad-hoc)
forM_ (groupUids `Set.union` adhocIds) $ \uid' -> void . insertUnique $ SubmissionUser uid' smid
let subUsers = Set.insert uid $ groupUids `Set.union` adhocIds
-- remove obsolete old entries
deleteWhere [SubmissionUserSubmission ==. smid, SubmissionUserUser /<-. setToList subUsers]
-- maybe add current users
forM_ subUsers $ \uid' -> void . insertUnique $ SubmissionUser uid' smid
return smid
cID <- encrypt smid
return $ Just cID
@ -214,7 +212,7 @@ postSubmissionR tid csh shn (SubmissionMode mcid) = do
<h2>
<a href=@{SubmissionDownloadArchiveR arCid}>Archiv
$forall (name,time) <- lastEdits
<div>last edited by #{name} at #{formatTimeGerWDT time}
<div>last edited by #{name} at #{formatTimeGerDTlong time}
$maybe cid <- mcid
<h3>Enthaltene Dateien:
$forall (Entity _ File{..}) <- oldfiles