From 48119428fe4d97a374ded5f5ae1fb6b0cc9ba07d Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Fri, 29 Nov 2019 22:10:48 +0100 Subject: [PATCH] Refactor showing a specific submission --- Handler/Query.hs | 11 ++++++++--- templates/query-result.hamlet | 29 +---------------------------- templates/submission-header.hamlet | 28 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 31 deletions(-) create mode 100644 templates/submission-header.hamlet diff --git a/Handler/Query.hs b/Handler/Query.hs index 3dc8ab2..c27c030 100644 --- a/Handler/Query.hs +++ b/Handler/Query.hs @@ -110,9 +110,10 @@ resultTable (Entity submissionId submission) = do $(widgetFile "result-table") -queryResult :: FullSubmissionInfo -> WidgetFor App () -queryResult submission = do - $(widgetFile "query-result") + +submissionHeader :: FullSubmissionInfo -> WidgetFor App () +submissionHeader submission = + $(widgetFile "submission-header") where commitSha1AsText = fromSHA1ToText $ submissionCommit $ fsiSubmission submission submitter = formatSubmitter $ fsiUser submission publicSubmissionBranch = getPublicSubmissionBranch $ fsiSubmissionId submission @@ -120,5 +121,9 @@ queryResult submission = do browsableUrl = browsableGitRepoBranch (fsiScheme submission) (fsiChallengeRepo submission) (challengeName $ fsiChallenge submission) publicSubmissionBranch stamp = T.pack $ show $ submissionStamp $ fsiSubmission submission +queryResult :: FullSubmissionInfo -> WidgetFor App () +queryResult submission = do + $(widgetFile "query-result") + queryForm :: Form Text queryForm = renderBootstrap3 BootstrapBasicForm $ areq textField (fieldSettingsLabel MsgGitCommitSha1) Nothing diff --git a/templates/query-result.hamlet b/templates/query-result.hamlet index 609171e..57bff94 100644 --- a/templates/query-result.hamlet +++ b/templates/query-result.hamlet @@ -3,34 +3,7 @@

-
-
#{commitSha1AsText} - -
^{fragmentWithTags (submissionDescription $ fsiSubmission submission) (map fst $ fsiTags submission)} -

 

-
-
challenge -
#{challengeTitle $ fsiChallenge submission} -
submitter -
#{submitter} -
submitted -
#{stamp} -
original repo -
#{repoUrl $ fsiRepo submission} / branch #{repoBranch $ fsiRepo submission} - $if submissionIsPublic $ fsiSubmission submission -
publicly available at -
#{publicSubmissionRepo} / branch #{publicSubmissionBranch} -
browsable at -
#{browsableUrl} -
clone by -
git clone --single-branch #{publicSubmissionRepo} -b #{publicSubmissionBranch} - $if not (null (fsiExternalLinks submission)) -
see also -
- $forall (Entity _ externalLink) <- fsiExternalLinks submission - - #{fromMaybe (externalLinkUrl externalLink) (externalLinkTitle externalLink)} -
+ ^{submissionHeader submission} ^{resultTable (Entity (fsiSubmissionId submission) (fsiSubmission submission))} $if not (null (fsiSuperSubmissions submission)) diff --git a/templates/submission-header.hamlet b/templates/submission-header.hamlet new file mode 100644 index 0000000..f5b68e6 --- /dev/null +++ b/templates/submission-header.hamlet @@ -0,0 +1,28 @@ +
+
#{commitSha1AsText} + +
^{fragmentWithTags (submissionDescription $ fsiSubmission submission) (map fst $ fsiTags submission)} +

 

+
+
challenge +
#{challengeTitle $ fsiChallenge submission} +
submitter +
#{submitter} +
submitted +
#{stamp} +
original repo +
#{repoUrl $ fsiRepo submission} / branch #{repoBranch $ fsiRepo submission} + $if submissionIsPublic $ fsiSubmission submission +
publicly available at +
#{publicSubmissionRepo} / branch #{publicSubmissionBranch} +
browsable at +
#{browsableUrl} +
clone by +
git clone --single-branch #{publicSubmissionRepo} -b #{publicSubmissionBranch} + $if not (null (fsiExternalLinks submission)) +
see also +
+ $forall (Entity _ externalLink) <- fsiExternalLinks submission + + #{fromMaybe (externalLinkUrl externalLink) (externalLinkTitle externalLink)} +