From b718540114103aaad2fd2554745fdb61d1e6cd17 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 28 Nov 2012 17:08:19 -0500 Subject: [PATCH] Added groovy and scala extensions to default pretty print list --- 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