James Moger
2012-08-09 77e1d2aa1d520c425cd68323a0eb4cfba201b208
Redirect to absolute url for repository search box (issue-111)
2 files modified
11 ■■■■ changed files
docs/04_releases.mkd 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RepositoryPage.java 10 ●●●● patch | view | raw | blame | history
docs/04_releases.mkd
@@ -19,6 +19,7 @@
- Repository URL uses `X-Forwarded-Proto` and `X-Forwarded-Port`, if available, for reverse proxy configurations (issue 115)
- Output real RAW content, not simulated RAW content (issue 114)
- Fixed Lucene charset encoding bug when reindexing a repository (issue 112)
- Fixed search box linking to Lucene page for nested repository on Tomcat (issue 111)
- Fixed null pointer in LdapUserSerivce if account has a null email address (issue 110)
- Really fixed failure to update a GO setting from the manager (issue 85)
src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -32,6 +32,8 @@
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.http.RequestUtils;
import org.apache.wicket.request.target.basic.RedirectRequestTarget;
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Repository;
@@ -364,8 +366,12 @@
                // this repository is Lucene-indexed
                searchPageClass = LuceneSearchPage.class;
            }
            setResponsePage(searchPageClass,
                    WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType));
            // use an absolute url to workaround Wicket-Tomcat problems with
            // mounted url parameters (issue-111)
            PageParameters params = WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType);
            String relativeUrl = urlFor(searchPageClass, params).toString();
            String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl);
            getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
        }
    }
}