From efb1137546de9a32bfa23aeda9edd7dc4f597d05 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 27 Sep 2012 09:35:54 -0400 Subject: [PATCH] Added Hamcrest-Core (JUnit) and Jakarta-Regexp (Lucene Memory) --- src/com/gitblit/wicket/pages/RepositoryPage.java | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index 19a5de2..eb8536c 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -64,6 +64,7 @@ public abstract class RepositoryPage extends BasePage { + protected final String projectName; protected final String repositoryName; protected final String objectId; @@ -74,10 +75,17 @@ private Map<String, SubmoduleModel> submodules; private final Map<String, PageRegistration> registeredPages; - + private boolean showAdmin; + private boolean isOwner; + public RepositoryPage(PageParameters params) { super(params); repositoryName = WicketUtils.getRepositoryName(params); + if (repositoryName.indexOf('/') > -1) { + projectName = repositoryName.substring(0, repositoryName.indexOf('/')); + } else { + projectName = GitBlit.getString(Keys.web.repositoryRootGroupName, "main"); + } objectId = WicketUtils.getObject(params); if (StringUtils.isEmpty(repositoryName)) { @@ -117,6 +125,7 @@ // standard links pages.put("repositories", new PageRegistration("gb.repositories", RepositoriesPage.class)); + pages.put("project", new PageRegistration("gb.project", ProjectPage.class, WicketUtils.newProjectParameter(projectName))); pages.put("summary", new PageRegistration("gb.summary", SummaryPage.class, params)); pages.put("log", new PageRegistration("gb.log", LogPage.class, params)); pages.put("branches", new PageRegistration("gb.branches", BranchesPage.class, params)); @@ -141,17 +150,17 @@ } // Conditionally add edit link - final boolean showAdmin; + showAdmin = false; if (GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)) { boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false); showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin(); } else { showAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, false); } - if (showAdmin - || GitBlitWebSession.get().isLoggedIn() + isOwner = GitBlitWebSession.get().isLoggedIn() && (model.owner != null && model.owner.equalsIgnoreCase(GitBlitWebSession.get() - .getUsername()))) { + .getUsername())); + if (showAdmin || isOwner) { pages.put("edit", new PageRegistration("gb.edit", EditRepositoryPage.class, params)); } return pages; @@ -405,6 +414,14 @@ return WicketUtils.newObjectParameter(repositoryName, commitId); } + public boolean isShowAdmin() { + return showAdmin; + } + + public boolean isOwner() { + return isOwner; + } + private class SearchForm extends SessionlessForm<Void> implements Serializable { private static final long serialVersionUID = 1L; -- Gitblit v1.9.1