From 44f6238fd5fe7675e7de43f4a42d1f7dabcfee4e Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 27 Nov 2012 17:01:59 -0500 Subject: [PATCH] Tweak to GCA config, fix send mail prompts, added authority.cmd --- src/com/gitblit/wicket/pages/RepositoryPage.java | 35 +++++++++++++++++++++-------------- 1 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index fd2cbcc..c90e353 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -92,25 +92,32 @@ } 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); } if (!getRepositoryModel().hasCommits) { setResponsePage(EmptyRepositoryPage.class, params); + } + + if (getRepositoryModel().isCollectingGarbage) { + error(MessageFormat.format(getString("gb.busyCollectingGarbage"), getRepositoryModel().name), true); + } + + if (objectId != null) { + RefModel branch = null; + if ((branch = JGitUtils.getBranch(getRepository(), objectId)) != null) { + UserModel user = GitBlitWebSession.get().getUser(); + if (user == null) { + // workaround until get().getUser() is reviewed throughout the app + user = UserModel.ANONYMOUS; + } + boolean canAccess = user.hasBranchPermission(repositoryName, + branch.reference.getName()); + if (!canAccess) { + error(getString("gb.accessDeined"), true); + } + } } // register the available page links for this page and user @@ -418,7 +425,7 @@ } protected String getShortObjectId(String objectId) { - return objectId.substring(0, 8); + return objectId.substring(0, GitBlit.getInteger(Keys.web.shortCommitIdLength, 6)); } protected void addRefs(Repository r, RevCommit c) { -- Gitblit v1.9.1