diff --git a/Handler/ShowChallenge.hs b/Handler/ShowChallenge.hs index 604c483..a4f079b 100644 --- a/Handler/ShowChallenge.hs +++ b/Handler/ShowChallenge.hs @@ -281,8 +281,7 @@ getOuts chan submissionId = do activeTests <- runDB $ selectList [TestChallenge ==. challengeId, TestActive ==. True] [] testsDone <- filterM (liftIO . doesOutExist repoDir) activeTests theVariant <- getVariant submissionId "out" - outs' <- mapM (outForTest repoDir submissionId) testsDone - let outs = map (\o -> o { outVariant = Just theVariant}) outs' + outs <- mapM (outForTest repoDir submissionId theVariant) testsDone mapM_ checkOrInsertOut outs mapM_ (checkOrInsertEvaluation repoDir chan) outs return outs @@ -299,12 +298,12 @@ doesOutExist repoDir (Entity _ test) = do result <- findOutFile repoDir test return $ isJust result -outForTest repoDir submissionId (Entity testId test) = do +outForTest repoDir submissionId variantId (Entity testId test) = do (Just outF) <- liftIO $ findOutFile repoDir test checksum <- liftIO $ gatherSHA1ForCollectionOfFiles [outF] return Out { outSubmission=submissionId, - outVariant=Nothing, + outVariant=variantId, outTest=testId, outChecksum=SHA1 checksum } diff --git a/config/models b/config/models index 93eeda4..8d6e524 100644 --- a/config/models +++ b/config/models @@ -81,10 +81,11 @@ Comment text Textarea Out submission SubmissionId - variant VariantId Maybe + variant VariantId test TestId checksum SHA1 UniqueOutSubmissionTestChecksum submission test checksum + UniqueOutVariantTestChecksum variant test checksum Tag name Text description Text Maybe