From 31e1bfd91836f35a6482431956a03b831e9ae956 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 07 Mar 2014 14:28:12 -0500
Subject: [PATCH] Conditionally hide the propose patchset instructions

---
 src/main/java/com/gitblit/wicket/pages/TicketPage.java |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/TicketPage.java b/src/main/java/com/gitblit/wicket/pages/TicketPage.java
index 69f4fe7..4be9e69 100644
--- a/src/main/java/com/gitblit/wicket/pages/TicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/TicketPage.java
@@ -731,15 +731,22 @@
 		 *  PATCHSET TAB
 		 */
 		if (currentPatchset == null) {
-			// no patchset yet, show propose fragment
-			String repoUrl = getRepositoryUrl(user, repository);
-			Fragment changeIdFrag = new Fragment("patchset", "proposeFragment", this);
-			changeIdFrag.add(new Label("proposeInstructions", MarkdownUtils.transformMarkdown(getString("gb.proposeInstructions"))).setEscapeModelStrings(false));
-			changeIdFrag.add(new Label("ptWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Barnum")));
-			changeIdFrag.add(new Label("ptWorkflowSteps", getProposeWorkflow("propose_pt.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
-			changeIdFrag.add(new Label("gitWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Git")));
-			changeIdFrag.add(new Label("gitWorkflowSteps", getProposeWorkflow("propose_git.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
-			add(changeIdFrag);
+			// no patchset available
+			if (ticket.isOpen() && app().tickets().isAcceptingNewPatchsets(repository)) {
+				// ticket & repo will accept a proposal patchset
+				// show the instructions for proposing a patchset
+				String repoUrl = getRepositoryUrl(user, repository);
+				Fragment changeIdFrag = new Fragment("patchset", "proposeFragment", this);
+				changeIdFrag.add(new Label("proposeInstructions", MarkdownUtils.transformMarkdown(getString("gb.proposeInstructions"))).setEscapeModelStrings(false));
+				changeIdFrag.add(new Label("ptWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Barnum")));
+				changeIdFrag.add(new Label("ptWorkflowSteps", getProposeWorkflow("propose_pt.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
+				changeIdFrag.add(new Label("gitWorkflow", MessageFormat.format(getString("gb.proposeWith"), "Git")));
+				changeIdFrag.add(new Label("gitWorkflowSteps", getProposeWorkflow("propose_git.md", repoUrl, ticket.number)).setEscapeModelStrings(false));
+				add(changeIdFrag);
+			} else {
+				// ticket is resolved OR repository is rejecting new patchsets
+				add(new Label("patchset").setVisible(false));
+			}
 		} else {
 			// show current patchset
 			Fragment patchsetFrag = new Fragment("patchset", "patchsetFragment", this);

--
Gitblit v1.9.1