From dfb88962fdbd29f59abe92178bb042738d57c3e1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 11 May 2011 22:07:18 -0400
Subject: [PATCH] Add user. Implemented repository view and git access restrictions.

---
 src/com/gitblit/Constants.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/Constants.java b/src/com/gitblit/Constants.java
index 38f2e7d..3ca917d 100644
--- a/src/com/gitblit/Constants.java
+++ b/src/com/gitblit/Constants.java
@@ -6,14 +6,41 @@
 
 	public final static String VERSION = "0.1.0-SNAPSHOT";
 
-	public final static String ADMIN_ROLE = "admin";
-
-	public final static String PULL_ROLE = "pull";
-
-	public final static String PUSH_ROLE = "push";
+	public final static String ADMIN_ROLE = "#admin";
 
 	public final static String PROPERTIES_FILE = "gitblit.properties";
 
+	public static enum AccessRestrictionType {
+		NONE, PUSH, CLONE, VIEW;
+
+		public static AccessRestrictionType fromString(String name) {
+			for (AccessRestrictionType type : values()) {
+				if (type.toString().equalsIgnoreCase(name)) {
+					return type;
+				}
+			}
+			return NONE;
+		}
+		
+		public boolean atLeast(AccessRestrictionType type) {
+			return this.ordinal() >= type.ordinal();
+		}
+
+		public String toString() {
+			switch (this) {
+			case NONE:
+				return "none";
+			case PUSH:
+				return "push";
+			case CLONE:
+				return "clone";
+			case VIEW:
+				return "view";
+			}
+			return "none";
+		}
+	}
+
 	public static String getGitBlitVersion() {
 		return NAME + " v" + VERSION;
 	}

--
Gitblit v1.9.1