From: Paul Martin Date: Thu, 31 Mar 2016 07:47:56 +0000 (+0100) Subject: Fix for #1034 Ticket Page Error X-Git-Tag: v1.8.0~16^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F1035%2Fhead;p=gitblit.git Fix for #1034 Ticket Page Error --- diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java index 8958eb2a..36c5ae16 100644 --- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java @@ -269,8 +269,15 @@ public abstract class RepositoryPage extends RootPage { @Override protected void setupPage(String repositoryName, String pageName) { + + //This method should only be called once in the page lifecycle. + //However, it must be called after the constructor has run, hence not in onInitialize + //It may be attempted to be called again if an info or error message is displayed. + if (get("projectTitle") != null) { return; } + String projectName = StringUtils.getFirstPathElement(repositoryName); ProjectModel project = app().projects().getProjectModel(projectName); + if (project.isUserProject()) { // user-as-project add(new LinkPanel("projectTitle", null, project.getDisplayName(), @@ -662,15 +669,7 @@ public abstract class RepositoryPage extends RootPage { } } - @Override - protected void onInitialize() { - - super.onInitialize(); - // setup page header and footer - setupPage(getRepositoryName(), "/ " + getPageName()); - } - @Override protected void onBeforeRender() { // dispose of repository object @@ -678,6 +677,9 @@ public abstract class RepositoryPage extends RootPage { r.close(); r = null; } + + // setup page header and footer + setupPage(getRepositoryName(), "/ " + getPageName()); super.onBeforeRender(); }