From 4fcac9d2cbdafb51e3ee9ca3b3da64fd86103174 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 26 Nov 2013 15:58:15 -0500
Subject: [PATCH] Remove artifact setting from manager dialog

---
 src/main/java/com/gitblit/Constants.java |  154 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 93 insertions(+), 61 deletions(-)

diff --git a/src/main/java/com/gitblit/Constants.java b/src/main/java/com/gitblit/Constants.java
index f3ad5fa..1451ccf 100644
--- a/src/main/java/com/gitblit/Constants.java
+++ b/src/main/java/com/gitblit/Constants.java
@@ -19,14 +19,16 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.net.URL;
+import java.util.Arrays;
+import java.util.List;
 import java.util.jar.Attributes;
 import java.util.jar.Manifest;
 
 /**
  * Constant values used by Gitblit.
- * 
+ *
  * @author James Moger
- * 
+ *
  */
 public class Constants {
 
@@ -35,18 +37,20 @@
 	public static final String FULL_NAME = "Gitblit - a pure Java Git solution";
 
 	public static final String ADMIN_ROLE = "#admin";
-	
+
 	public static final String FORK_ROLE = "#fork";
-	
+
 	public static final String CREATE_ROLE = "#create";
 
 	public static final String NOT_FEDERATED_ROLE = "#notfederated";
-	
+
 	public static final String NO_ROLE = "#none";
-	
+
 	public static final String EXTERNAL_ACCOUNT = "#externalAccount";
 
 	public static final String PROPERTIES_FILE = "gitblit.properties";
+
+	public static final String DEFAULT_USER_REPOSITORY_PREFIX = "~";
 
 	public static final String GIT_PATH = "/git/";
 
@@ -57,51 +61,53 @@
 	public static final String FEDERATION_PATH = "/federation/";
 
 	public static final String RPC_PATH = "/rpc/";
-	
+
 	public static final String PAGES = "/pages/";
-	
+
 	public static final String SPARKLESHARE_INVITE_PATH = "/sparkleshare/";
+
+	public static final String BRANCH_GRAPH_PATH = "/graph/";
 
 	public static final String BORDER = "***********************************************************";
 
 	public static final String FEDERATION_USER = "$gitblit";
 
 	public static final String PROPOSAL_EXT = ".json";
-	
+
 	public static final String ENCODING = "UTF-8";
-	
+
 	public static final int LEN_SHORTLOG = 78;
-	
+
 	public static final int LEN_SHORTLOG_REFS = 60;
-	
+
 	public static final String DEFAULT_BRANCH = "default";
-	
+
 	public static final String CONFIG_GITBLIT = "gitblit";
-	
+
 	public static final String CONFIG_CUSTOM_FIELDS = "customFields";
-	
+
 	public static final String ISO8601 = "yyyy-MM-dd'T'HH:mm:ssZ";
-	
+
 	public static final String baseFolder = "baseFolder";
-	
+
 	public static final String baseFolder$ = "${" + baseFolder + "}";
-	
+
 	public static final String contextFolder$ = "${contextFolder}";
-	
+
 	public static final String HEAD = "HEAD";
 
 	public static final String R_GITBLIT = "refs/gitblit/";
-	
+
 	public static final String R_HEADS = "refs/heads/";
-	
+
 	public static final String R_NOTES = "refs/notes/";
-	
+
 	public static final String R_CHANGES = "refs/changes/";
-	
+
 	public static final String R_PULL= "refs/pull/";
 
 	public static final String R_TAGS = "refs/tags/";
-	
+
 	public static final String R_REMOTES = "refs/remotes/";
 
 	public static String getVersion() {
@@ -115,11 +121,11 @@
 	public static String getGitBlitVersion() {
 		return NAME + " v" + getVersion();
 	}
-	
+
 	public static String getBuildDate() {
 		return getManifestValue("build-date", "PENDING");
 	}
-	
+
 	private static String getManifestValue(String attrib, String defaultValue) {
 		Class<?> clazz = Constants.class;
 		String className = clazz.getSimpleName() + ".class";
@@ -138,12 +144,14 @@
 		}
 		return defaultValue;
 	}
-	
+
 	/**
 	 * Enumeration representing the four access restriction levels.
 	 */
 	public static enum AccessRestrictionType {
 		NONE, PUSH, CLONE, VIEW;
+
+		private static final AccessRestrictionType [] AUTH_TYPES = { PUSH, CLONE, VIEW };
 
 		public static AccessRestrictionType fromName(String name) {
 			for (AccessRestrictionType type : values()) {
@@ -154,6 +162,13 @@
 			return NONE;
 		}
 
+		public static List<AccessRestrictionType> choices(boolean allowAnonymousPush) {
+			if (allowAnonymousPush) {
+				return Arrays.asList(values());
+			}
+			return Arrays.asList(AUTH_TYPES);
+		}
+
 		public boolean exceeds(AccessRestrictionType type) {
 			return this.ordinal() > type.ordinal();
 		}
@@ -162,10 +177,11 @@
 			return this.ordinal() >= type.ordinal();
 		}
 
+		@Override
 		public String toString() {
 			return name();
 		}
-		
+
 		public boolean isValidPermission(AccessPermission permission) {
 			switch (this) {
 			case VIEW:
@@ -178,7 +194,7 @@
 				return permission.atLeast(AccessPermission.CLONE);
 			case PUSH:
 				// PUSH restriction
-				// only PUSH or greater access permissions are valid 
+				// only PUSH or greater access permissions are valid
 				return permission.atLeast(AccessPermission.PUSH);
 			case NONE:
 				// NO access restriction
@@ -188,14 +204,14 @@
 			return false;
 		}
 	}
-	
+
 	/**
 	 * Enumeration representing the types of authorization control for an
 	 * access restricted resource.
 	 */
 	public static enum AuthorizationControl {
 		AUTHENTICATED, NAMED;
-		
+
 		public static AuthorizationControl fromName(String name) {
 			for (AuthorizationControl type : values()) {
 				if (type.name().equalsIgnoreCase(name)) {
@@ -204,7 +220,8 @@
 			}
 			return NAMED;
 		}
-		
+
+		@Override
 		public String toString() {
 			return name();
 		}
@@ -226,6 +243,7 @@
 			return REPOSITORIES;
 		}
 
+		@Override
 		public String toString() {
 			return name();
 		}
@@ -246,6 +264,7 @@
 			return PULL_REPOSITORIES;
 		}
 
+		@Override
 		public String toString() {
 			return name();
 		}
@@ -321,12 +340,12 @@
 	public static enum RpcRequest {
 		// Order is important here.  anything above LIST_SETTINGS requires
 		// administrator privileges and web.allowRpcManagement.
-		CLEAR_REPOSITORY_CACHE, GET_PROTOCOL, LIST_REPOSITORIES, LIST_BRANCHES, LIST_SETTINGS,
-		CREATE_REPOSITORY, EDIT_REPOSITORY, DELETE_REPOSITORY, 
-		LIST_USERS, CREATE_USER, EDIT_USER, DELETE_USER, 
+		CLEAR_REPOSITORY_CACHE, GET_PROTOCOL, LIST_REPOSITORIES, LIST_BRANCHES, GET_USER, LIST_SETTINGS,
+		CREATE_REPOSITORY, EDIT_REPOSITORY, DELETE_REPOSITORY,
+		LIST_USERS, CREATE_USER, EDIT_USER, DELETE_USER,
 		LIST_TEAMS, CREATE_TEAM, EDIT_TEAM, DELETE_TEAM,
-		LIST_REPOSITORY_MEMBERS, SET_REPOSITORY_MEMBERS, LIST_REPOSITORY_TEAMS, SET_REPOSITORY_TEAMS, 
-		LIST_REPOSITORY_MEMBER_PERMISSIONS, SET_REPOSITORY_MEMBER_PERMISSIONS, LIST_REPOSITORY_TEAM_PERMISSIONS, SET_REPOSITORY_TEAM_PERMISSIONS, 
+		LIST_REPOSITORY_MEMBERS, SET_REPOSITORY_MEMBERS, LIST_REPOSITORY_TEAMS, SET_REPOSITORY_TEAMS,
+		LIST_REPOSITORY_MEMBER_PERMISSIONS, SET_REPOSITORY_MEMBER_PERMISSIONS, LIST_REPOSITORY_TEAM_PERMISSIONS, SET_REPOSITORY_TEAM_PERMISSIONS,
 		LIST_FEDERATION_REGISTRATIONS, LIST_FEDERATION_RESULTS, LIST_FEDERATION_PROPOSALS, LIST_FEDERATION_SETS,
 		EDIT_SETTINGS, LIST_STATUS;
 
@@ -337,7 +356,7 @@
 				}
 			}
 			return null;
-		}		
+		}
 
 		public boolean exceeds(RpcRequest type) {
 			return this.ordinal() > type.ordinal();
@@ -354,7 +373,7 @@
 	 */
 	public static enum SearchType {
 		AUTHOR, COMMITTER, COMMIT;
-	
+
 		public static SearchType forName(String name) {
 			for (SearchType type : values()) {
 				if (type.name().equalsIgnoreCase(name)) {
@@ -363,18 +382,18 @@
 			}
 			return COMMIT;
 		}
-	
+
 		@Override
 		public String toString() {
 			return name().toLowerCase();
 		}
 	}
-	
+
 	/**
 	 * The types of objects that can be indexed and queried.
 	 */
 	public static enum SearchObjectType {
-		commit, blob, issue;
+		commit, blob;
 
 		static SearchObjectType fromName(String name) {
 			for (SearchObjectType value : values()) {
@@ -385,19 +404,19 @@
 			return null;
 		}
 	}
-	
+
 	/**
-	 * The access permissions available for a repository. 
+	 * The access permissions available for a repository.
 	 */
 	public static enum AccessPermission {
 		NONE("N"), EXCLUDE("X"), VIEW("V"), CLONE("R"), PUSH("RW"), CREATE("RWC"), DELETE("RWD"), REWIND("RW+"), OWNER("RW+");
-		
+
 		public static final AccessPermission [] NEWPERMISSIONS = { EXCLUDE, VIEW, CLONE, PUSH, CREATE, DELETE, REWIND };
-		
+
 		public static AccessPermission LEGACY = REWIND;
-		
+
 		public final String code;
-		
+
 		private AccessPermission(String code) {
 			this.code = code;
 		}
@@ -413,16 +432,16 @@
 		public boolean exceeds(AccessPermission perm) {
 			return ordinal() > perm.ordinal();
 		}
-		
+
 		public String asRole(String repository) {
 			return code + ":" + repository;
 		}
-		
+
 		@Override
 		public String toString() {
 			return code;
 		}
-		
+
 		public static AccessPermission permissionFromRole(String role) {
 			String [] fields = role.split(":", 2);
 			if (fields.length == 1) {
@@ -433,7 +452,7 @@
 				return AccessPermission.fromCode(fields[0]);
 			}
 		}
-		
+
 		public static String repositoryFromRole(String role) {
 			String [] fields = role.split(":", 2);
 			if (fields.length == 1) {
@@ -444,7 +463,7 @@
 				return fields[1];
 			}
 		}
-		
+
 		public static AccessPermission fromCode(String code) {
 			for (AccessPermission perm : values()) {
 				if (perm.code.equalsIgnoreCase(code)) {
@@ -454,18 +473,18 @@
 			return AccessPermission.NONE;
 		}
 	}
-	
+
 	public static enum RegistrantType {
 		REPOSITORY, USER, TEAM;
 	}
-	
+
 	public static enum PermissionType {
 		MISSING, ANONYMOUS, EXPLICIT, TEAM, REGEX, OWNER, ADMINISTRATOR;
 	}
-	
+
 	public static enum GCStatus {
 		READY, COLLECTING;
-		
+
 		public boolean exceeds(GCStatus s) {
 			return ordinal() > s.ordinal();
 		}
@@ -473,20 +492,33 @@
 
 	public static enum AuthenticationType {
 		CREDENTIALS, COOKIE, CERTIFICATE, CONTAINER;
-		
+
 		public boolean isStandard() {
 			return ordinal() <= COOKIE.ordinal();
 		}
 	}
-	
+
 	public static enum AccountType {
-		LOCAL, LDAP, REDMINE, SALESFORCE, WINDOWS;
-		
+		LOCAL, EXTERNAL, LDAP, REDMINE, SALESFORCE, WINDOWS, PAM, HTPASSWD;
+
 		public boolean isLocal() {
 			return this == LOCAL;
 		}
 	}
 
+	public static enum CommitMessageRenderer {
+		PLAIN, MARKDOWN;
+
+		public static CommitMessageRenderer fromName(String name) {
+			for (CommitMessageRenderer renderer : values()) {
+				if (renderer.name().equalsIgnoreCase(name)) {
+					return renderer;
+				}
+			}
+			return CommitMessageRenderer.PLAIN;
+		}
+	}
+
 	@Documented
 	@Retention(RetentionPolicy.RUNTIME)
 	public @interface Unused {

--
Gitblit v1.9.1