From ee0b9f4944fe6a80b7454496d781c62978c8c98a Mon Sep 17 00:00:00 2001
From: Joel Johnson <mrjoel@lixil.net>
Date: Thu, 02 Jul 2015 18:15:14 -0400
Subject: [PATCH] provide spacing on the projects page listing

---
 src/main/java/com/gitblit/manager/ServicesManager.java |   40 +++++++++++++++++++++++++++++-----------
 1 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/gitblit/manager/ServicesManager.java b/src/main/java/com/gitblit/manager/ServicesManager.java
index 7185854..c911f31 100644
--- a/src/main/java/com/gitblit/manager/ServicesManager.java
+++ b/src/main/java/com/gitblit/manager/ServicesManager.java
@@ -162,25 +162,28 @@
 		List<RepositoryUrl> list = new ArrayList<RepositoryUrl>();
 
 		// http/https url
-		if (settings.getBoolean(Keys.git.enableGitServlet, true)) {
+		if (settings.getBoolean(Keys.git.enableGitServlet, true) &&
+			settings.getBoolean(Keys.web.showHttpServletUrls, true)) {
 			AccessPermission permission = user.getRepositoryPermission(repository).permission;
 			if (permission.exceeds(AccessPermission.NONE)) {
-				Transport transport = Transport.fromString(request.getScheme());
-				if (permission.atLeast(AccessPermission.PUSH) && !acceptPush(transport)) {
+				String repoUrl = getRepositoryUrl(request, username, repository);
+				Transport transport = Transport.fromUrl(repoUrl);
+				if (permission.atLeast(AccessPermission.PUSH) && !acceptsPush(transport)) {
 					// downgrade the repo permission for this transport
 					// because it is not an acceptable PUSH transport
 					permission = AccessPermission.CLONE;
 				}
-				list.add(new RepositoryUrl(getRepositoryUrl(request, username, repository), permission));
+				list.add(new RepositoryUrl(repoUrl, permission));
 			}
 		}
 
 		// ssh daemon url
 		String sshDaemonUrl = getSshDaemonUrl(request, user, repository);
-		if (!StringUtils.isEmpty(sshDaemonUrl)) {
+		if (!StringUtils.isEmpty(sshDaemonUrl) &&
+			settings.getBoolean(Keys.web.showSshDaemonUrls, true)) {
 			AccessPermission permission = user.getRepositoryPermission(repository).permission;
 			if (permission.exceeds(AccessPermission.NONE)) {
-				if (permission.atLeast(AccessPermission.PUSH) && !acceptPush(Transport.SSH)) {
+				if (permission.atLeast(AccessPermission.PUSH) && !acceptsPush(Transport.SSH)) {
 					// downgrade the repo permission for this transport
 					// because it is not an acceptable PUSH transport
 					permission = AccessPermission.CLONE;
@@ -192,10 +195,11 @@
 
 		// git daemon url
 		String gitDaemonUrl = getGitDaemonUrl(request, user, repository);
-		if (!StringUtils.isEmpty(gitDaemonUrl)) {
+		if (!StringUtils.isEmpty(gitDaemonUrl) &&
+				settings.getBoolean(Keys.web.showGitDaemonUrls, true)) {
 			AccessPermission permission = getGitDaemonAccessPermission(user, repository);
 			if (permission.exceeds(AccessPermission.NONE)) {
-				if (permission.atLeast(AccessPermission.PUSH) && !acceptPush(Transport.GIT)) {
+				if (permission.atLeast(AccessPermission.PUSH) && !acceptsPush(Transport.GIT)) {
 					// downgrade the repo permission for this transport
 					// because it is not an acceptable PUSH transport
 					permission = AccessPermission.CLONE;
@@ -272,7 +276,8 @@
 	 */
 	@Override
 	public boolean isServingRepositories() {
-		return isServingHTTP()
+		return isServingHTTPS()
+				|| isServingHTTP()
 				|| isServingGIT()
 				|| isServingSSH();
 	}
@@ -282,7 +287,19 @@
 	 */
 	@Override
 	public boolean isServingHTTP() {
-		return settings.getBoolean(Keys.git.enableGitServlet, true);
+		return settings.getBoolean(Keys.git.enableGitServlet, true)
+				&& ((gitblit.getStatus().isGO && settings.getInteger(Keys.server.httpPort, 0) > 0)
+						|| !gitblit.getStatus().isGO);
+	}
+
+	/* (non-Javadoc)
+	 * @see com.gitblit.manager.IServicesManager#isServingHTTPS()
+	 */
+	@Override
+	public boolean isServingHTTPS() {
+		return settings.getBoolean(Keys.git.enableGitServlet, true)
+				&& ((gitblit.getStatus().isGO && settings.getInteger(Keys.server.httpsPort, 0) > 0)
+						|| !gitblit.getStatus().isGO);
 	}
 
 	/* (non-Javadoc)
@@ -330,7 +347,8 @@
 		}
 	}
 
-	protected boolean acceptPush(Transport byTransport) {
+	@Override
+	public boolean acceptsPush(Transport byTransport) {
 		if (byTransport == null) {
 			logger.info("Unknown transport, push rejected!");
 			return false;

--
Gitblit v1.9.1