From 514da0237f6239322193d5d4b11b58fe4095da2b Mon Sep 17 00:00:00 2001 From: SHaselbauer <sarah.haselbauer@akquinet.de> Date: Wed, 23 Jan 2013 10:27:42 -0500 Subject: [PATCH] seleniumFixV2: connected thread pool creation to condition web.allowLuceneIndexing (otherwise thread pool will be kept open for more than a minute, what hinders the start of another gitblit instance in the same jvm during selenium test case execution), fixed naming of xpath variables, added missing property to gitblit.properties and test-ui-gitblit.properties, changed naming of methods (according to decision that owners is a much shorter word than repository administrator and that owners is fits better if you think of collective responsibilities and collective ownership) --- src/com/gitblit/FileUserService.java | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/FileUserService.java b/src/com/gitblit/FileUserService.java index c06266d..056df82 100644 --- a/src/com/gitblit/FileUserService.java +++ b/src/com/gitblit/FileUserService.java @@ -329,8 +329,7 @@ UserModel oldUser = getUserModel(username); List<String> roles; if (model.permissions == null) { - // legacy, use repository list - roles = new ArrayList<String>(model.repositories); + roles = new ArrayList<String>(); } else { // discrete repository permissions roles = new ArrayList<String>(); @@ -780,10 +779,27 @@ } else if (role.charAt(0) == '%') { postReceive.add(role.substring(1)); } else { + switch (role.charAt(0)) { + case '#': + // Permissions + if (role.equalsIgnoreCase(Constants.ADMIN_ROLE)) { + team.canAdmin = true; + } else if (role.equalsIgnoreCase(Constants.FORK_ROLE)) { + team.canFork = true; + } else if (role.equalsIgnoreCase(Constants.CREATE_ROLE)) { + team.canCreate = true; + } + break; + default: + repositories.add(role); + } repositories.add(role); } } - team.addRepositoryPermissions(repositories); + if (!team.canAdmin) { + // only read permissions for non-admin teams + team.addRepositoryPermissions(repositories); + } team.addUsers(users); team.addMailingLists(mailingLists); team.preReceiveScripts.addAll(preReceive); @@ -1040,6 +1056,17 @@ } } + // Permissions + if (model.canAdmin) { + roles.add(Constants.ADMIN_ROLE); + } + if (model.canFork) { + roles.add(Constants.FORK_ROLE); + } + if (model.canCreate) { + roles.add(Constants.CREATE_ROLE); + } + for (String role : roles) { sb.append(role); sb.append(','); -- Gitblit v1.9.1