From 85f639aa3eee0b4e02eba20e6a5197b684941544 Mon Sep 17 00:00:00 2001 From: Luca Milanesio <luca.milanesio@gmail.com> Date: Fri, 19 Oct 2012 21:53:24 -0400 Subject: [PATCH] Allows integration of GitBlit as plug-in in other projects. --- src/com/gitblit/wicket/pages/RepositoryPage.java | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index b7cade6..fd2cbcc 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -48,6 +48,7 @@ import com.gitblit.PagesServlet; import com.gitblit.SyndicationServlet; import com.gitblit.models.ProjectModel; +import com.gitblit.models.RefModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.SubmoduleModel; import com.gitblit.models.UserModel; @@ -91,6 +92,19 @@ } objectId = WicketUtils.getObject(params); + if (objectId != null) { + RefModel branch = null; + if ((branch = JGitUtils.getBranch(getRepository(), objectId)) != null) { + boolean canAccess = GitBlitWebSession + .get() + .getUser() + .hasBranchPermission(getRepositoryModel().name, + branch.reference.getName()); + if (!canAccess) { + error("Access denied", true); + } + } + } if (StringUtils.isEmpty(repositoryName)) { error(MessageFormat.format(getString("gb.repositoryNotSpecifiedFor"), getPageName()), true); } @@ -576,4 +590,4 @@ getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl)); } } -} \ No newline at end of file +} -- Gitblit v1.9.1