From 87f6c3e6510986a6676872aa64aed66fe7f24b01 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 22 Oct 2012 16:15:40 -0400
Subject: [PATCH] Differentiate between an explicit permission and a regex permission

---
 src/com/gitblit/client/GitblitClient.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/com/gitblit/client/GitblitClient.java b/src/com/gitblit/client/GitblitClient.java
index 9e31c79..4620fef 100644
--- a/src/com/gitblit/client/GitblitClient.java
+++ b/src/com/gitblit/client/GitblitClient.java
@@ -28,6 +28,7 @@
 import java.util.TreeSet;
 
 import com.gitblit.Constants;
+import com.gitblit.Constants.AccessPermission;
 import com.gitblit.Constants.AccessRestrictionType;
 import com.gitblit.Constants.AuthorizationControl;
 import com.gitblit.Constants.RegistrantType;
@@ -36,10 +37,10 @@
 import com.gitblit.GitBlitException.UnauthorizedException;
 import com.gitblit.GitBlitException.UnknownRequestException;
 import com.gitblit.Keys;
-import com.gitblit.models.RegistrantAccessPermission;
 import com.gitblit.models.FederationModel;
 import com.gitblit.models.FeedEntryModel;
 import com.gitblit.models.FeedModel;
+import com.gitblit.models.RegistrantAccessPermission;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.ServerSettings;
 import com.gitblit.models.ServerStatus;
@@ -498,7 +499,9 @@
 		List<RegistrantAccessPermission> list = new ArrayList<RegistrantAccessPermission>();
 		for (UserModel user : allUsers) {
 			if (user.hasRepositoryPermission(repository.name)) {
-				list.add(new RegistrantAccessPermission(user.username, user.permissions.get(repository.name), RegistrantType.USER));
+				AccessPermission ap = user.getRepositoryPermission(repository);
+				boolean isExplicit = user.hasExplicitRepositoryPermission(repository.name);
+				list.add(new RegistrantAccessPermission(user.username, ap, isExplicit, RegistrantType.USER));
 			}
 		}
 		return list;
@@ -535,7 +538,9 @@
 		List<RegistrantAccessPermission> list = new ArrayList<RegistrantAccessPermission>();
 		for (TeamModel team : allTeams) {
 			if (team.hasRepositoryPermission(repository.name)) {
-				list.add(new RegistrantAccessPermission(team.name, team.permissions.get(repository.name), RegistrantType.TEAM));
+				AccessPermission ap = team.getRepositoryPermission(repository);
+				boolean isExplicit = team.hasExplicitRepositoryPermission(repository.name);
+				list.add(new RegistrantAccessPermission(team.name, ap, isExplicit, RegistrantType.TEAM));
 			}
 		}
 		return list;

--
Gitblit v1.9.1