From 6fa6abf07be67bba86e9781a4028c4b3863b50f7 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 05 Mar 2012 16:32:18 -0500 Subject: [PATCH] Replace ChoiceRenderer with StringChoiceRenderer (issue 71) --- src/com/gitblit/wicket/pages/RepositoryPage.java | 35 +++++++++++++++++++++++++++++------ 1 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index 4c417d9..080a772 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -41,6 +41,7 @@ import com.gitblit.Constants; import com.gitblit.GitBlit; import com.gitblit.Keys; +import com.gitblit.PagesServlet; import com.gitblit.SyndicationServlet; import com.gitblit.models.RepositoryModel; import com.gitblit.utils.JGitUtils; @@ -48,6 +49,7 @@ import com.gitblit.utils.TicgitUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.PageRegistration; +import com.gitblit.wicket.PageRegistration.OtherPageLink; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.panels.LinkPanel; import com.gitblit.wicket.panels.NavigationPanel; @@ -71,6 +73,10 @@ if (StringUtils.isEmpty(repositoryName)) { error(MessageFormat.format("Repository not specified for {0}!", getPageName()), true); + } + + if (!getRepositoryModel().hasCommits) { + setResponsePage(EmptyRepositoryPage.class, params); } // register the available page links for this page and user @@ -119,6 +125,12 @@ if (model.useDocs) { pages.put("docs", new PageRegistration("gb.docs", DocsPage.class, params)); } + if (JGitUtils.getPagesBranch(r) != null) { + OtherPageLink pagesLink = new OtherPageLink("gb.pages", PagesServlet.asLink( + getRequest().getRelativePathPrefixToContextRoot(), repositoryName, null)); + pages.put("pages", pagesLink); + } + // Conditionally add edit link final boolean showAdmin; if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) { @@ -138,9 +150,18 @@ @Override protected void setupPage(String repositoryName, String pageName) { - add(new LinkPanel("repositoryName", null, repositoryName, SummaryPage.class, - WicketUtils.newRepositoryParameter(repositoryName))); + add(new LinkPanel("repositoryName", null, StringUtils.stripDotGit(repositoryName), + SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName))); add(new Label("pageName", pageName)); + if (getRepositoryModel().isBare) { + add(new Label("workingCopy").setVisible(false)); + } else { + Fragment fragment = new Fragment("workingCopy", "workingCopyFragment", this); + Label lbl = new Label("workingCopy", getString("gb.workingCopy")); + WicketUtils.setHtmlTooltip(lbl, getString("gb.workingCopyWarning")); + fragment.add(lbl); + add(fragment); + } super.setupPage(repositoryName, pageName); } @@ -241,7 +262,8 @@ } } - protected void setPersonSearchTooltip(Component component, String value, Constants.SearchType searchType) { + protected void setPersonSearchTooltip(Component component, String value, + Constants.SearchType searchType) { if (searchType.equals(Constants.SearchType.AUTHOR)) { WicketUtils.setHtmlTooltip(component, getString("gb.searchForAuthor") + " " + value); } else if (searchType.equals(Constants.SearchType.COMMITTER)) { @@ -298,13 +320,14 @@ private final IModel<String> searchBoxModel = new Model<String>(""); - private final IModel<Constants.SearchType> searchTypeModel = new Model<Constants.SearchType>(Constants.SearchType.COMMIT); + private final IModel<Constants.SearchType> searchTypeModel = new Model<Constants.SearchType>( + Constants.SearchType.COMMIT); public SearchForm(String id, String repositoryName) { super(id); this.repositoryName = repositoryName; - DropDownChoice<Constants.SearchType> searchType = new DropDownChoice<Constants.SearchType>("searchType", - Arrays.asList(Constants.SearchType.values())); + DropDownChoice<Constants.SearchType> searchType = new DropDownChoice<Constants.SearchType>( + "searchType", Arrays.asList(Constants.SearchType.values())); searchType.setModel(searchTypeModel); add(searchType.setVisible(GitBlit.getBoolean(Keys.web.showSearchTypeSelection, false))); TextField<String> searchBox = new TextField<String>("searchBox", searchBoxModel); -- Gitblit v1.9.1