James Moger
2014-03-07 31e1bfd91836f35a6482431956a03b831e9ae956
Conditionally hide the propose patchset instructions

There are a few scenarios where a ticket without a patchset should not
display propose instructions.

1. the ticket is resolved
2. the repository is configured to reject new patchsets or is read-only
3. the server is configured to reject new patchsets
1 files modified
9 ■■■■ changed files
src/main/java/com/gitblit/wicket/pages/TicketPage.java 9 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/TicketPage.java
@@ -731,7 +731,10 @@
         *  PATCHSET TAB
         */
        if (currentPatchset == null) {
            // no patchset yet, show propose fragment
            // 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));
@@ -741,6 +744,10 @@
            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);
            patchsetFrag.add(new Label("commitsInPatchset", MessageFormat.format(getString("gb.commitsInPatchsetN"), currentPatchset.number)));