diff options
Diffstat (limited to 'src/com/gitblit/models/UserModel.java')
-rw-r--r-- | src/com/gitblit/models/UserModel.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java index ee730257..a4a40245 100644 --- a/src/com/gitblit/models/UserModel.java +++ b/src/com/gitblit/models/UserModel.java @@ -175,10 +175,21 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel> // and the permissions of teams of which the user belongs
AccessPermission permission = AccessPermission.NONE;
if (permissions.containsKey(repository.name.toLowerCase())) {
+ // exact repository permission specified
AccessPermission p = permissions.get(repository.name.toLowerCase());
if (p != null) {
permission = p;
}
+ } else {
+ // search for regex permission match
+ for (String key : permissions.keySet()) {
+ if (repository.name.matches(key)) {
+ AccessPermission p = permissions.get(key);
+ if (p != null) {
+ permission = p;
+ }
+ }
+ }
}
for (TeamModel team : teams) {
|