From abcb146f0c4e5c99e5e44349a65e6fd49e9296d9 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 30 Oct 2012 17:03:02 -0400 Subject: [PATCH] Moved owner field onto access permissions tab --- src/com/gitblit/FileUserService.java | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/com/gitblit/FileUserService.java b/src/com/gitblit/FileUserService.java index c06266d..39c9a5d 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,6 +779,20 @@ } 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); } } @@ -1040,6 +1053,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