From ff4a7a48ed25a891368d8082218fb5904a7df1a3 Mon Sep 17 00:00:00 2001
From: Mrbytes <eguervos@msn.com>
Date: Tue, 18 Dec 2012 13:26:30 -0500
Subject: [PATCH] GitBlitWebApp_es.properties: Up-to-date. Some minor changes in syntax for better compression.

---
 src/com/gitblit/wicket/pages/RepositoryPage.java |   45 ++++++++++++++++++++++++++++-----------------
 1 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java
index fd2cbcc..897e200 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.canView(getRepositoryModel(),
+								branch.reference.getName());
+				if (!canAccess) {
+					error(getString("gb.accessDenied"), true);
+				}
+			}
 		}
 
 		// register the available page links for this page and user
@@ -147,7 +154,9 @@
 		pages.put("branches", new PageRegistration("gb.branches", BranchesPage.class, params));
 		pages.put("tags", new PageRegistration("gb.tags", TagsPage.class, params));
 		pages.put("tree", new PageRegistration("gb.tree", TreePage.class, params));
-		pages.put("forks", new PageRegistration("gb.forks", ForksPage.class, params));
+		if (GitBlit.getBoolean(Keys.web.allowForking, true)) {
+			pages.put("forks", new PageRegistration("gb.forks", ForksPage.class, params));
+		}
 
 		// conditional links
 		Repository r = getRepository();
@@ -184,7 +193,7 @@
 	}
 	
 	protected boolean allowForkControls() {
-		return true;
+		return GitBlit.getBoolean(Keys.web.allowForking, true);
 	}
 
 	@Override
@@ -418,7 +427,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) {
@@ -441,6 +450,8 @@
 			Constants.SearchType searchType) {
 		String name = identity == null ? "" : identity.getName();
 		String address = identity == null ? "" : identity.getEmailAddress();
+		name = StringUtils.removeNewlines(name);
+		address = StringUtils.removeNewlines(address);
 		boolean showEmail = GitBlit.getBoolean(Keys.web.showEmailAddresses, false);
 		if (!showEmail || StringUtils.isEmpty(name) || StringUtils.isEmpty(address)) {
 			String value = name;
@@ -590,4 +601,4 @@
 			getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
 		}
 	}
-}
+}

--
Gitblit v1.9.1