James Moger
2012-11-27 73f1adb2e84b8b9cd4045bcdd7d9afa72d3875b5
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) {