James Moger
2012-10-30 abcb146f0c4e5c99e5e44349a65e6fd49e9296d9
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;
@@ -97,6 +98,26 @@
      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
@@ -248,7 +269,7 @@
            // user not allowed to fork or fork already exists or repo forbids forking
            add(new ExternalLink("forkLink", "").setVisible(false));
            
            if (user.canFork && !model.allowForks) {
            if (user.canFork() && !model.allowForks) {
               // show forks prohibited indicator
               Fragment wc = new Fragment("forksProhibitedIndicator", "forksProhibitedFragment", this);
               Label lbl = new Label("forksProhibited", getString("gb.forksProhibited"));
@@ -576,4 +597,4 @@
         getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
      }
   }
}
}