From 092f0a62302e87f44403ba24fc519c65534dbfff Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 29 Oct 2012 23:22:54 -0400 Subject: [PATCH] Stabilizing and polishing permissions ui. Still in-progress. --- src/com/gitblit/client/UsersPanel.java | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/src/com/gitblit/client/UsersPanel.java b/src/com/gitblit/client/UsersPanel.java index 9fcad7b..cd571b2 100644 --- a/src/com/gitblit/client/UsersPanel.java +++ b/src/com/gitblit/client/UsersPanel.java @@ -40,7 +40,9 @@ import javax.swing.event.ListSelectionListener; import javax.swing.table.TableRowSorter; +import com.gitblit.Constants.PermissionType; import com.gitblit.Constants.RpcRequest; +import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; @@ -309,6 +311,21 @@ gitblit.getSettings()); dialog.setLocationRelativeTo(UsersPanel.this); dialog.setUsers(gitblit.getUsers()); + + List<RegistrantAccessPermission> permissions = user.getRepositoryPermissions(); + for (RegistrantAccessPermission permission : permissions) { + if (permission.isEditable && PermissionType.EXPLICIT.equals(permission.permissionType)) { + // Ensure this is NOT an owner permission - which is non-editable + // We don't know this from within the usermodel, ownership is a + // property of a repository. + boolean isOwner = gitblit.getRepository(permission.registrant).isOwner(user.username); + if (isOwner) { + permission.permissionType = PermissionType.OWNER; + permission.isEditable = false; + } + } + } + dialog.setRepositories(gitblit.getRepositories(), user.getRepositoryPermissions()); dialog.setTeams(gitblit.getTeams(), user.teams == null ? null : new ArrayList<TeamModel>( user.teams)); -- Gitblit v1.9.1