diff options
author | James Moger <james.moger@gitblit.com> | 2012-10-29 23:22:54 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2012-10-29 23:22:54 -0400 |
commit | 092f0a62302e87f44403ba24fc519c65534dbfff (patch) | |
tree | 340b5c18c29c1662d790fbf0d4422702c92eb3ce /src/com/gitblit/client/UsersPanel.java | |
parent | 8bc725871269aa47f8ef6db086a4cfedc75ef140 (diff) | |
download | gitblit-092f0a62302e87f44403ba24fc519c65534dbfff.tar.gz gitblit-092f0a62302e87f44403ba24fc519c65534dbfff.zip |
Stabilizing and polishing permissions ui. Still in-progress.
Diffstat (limited to 'src/com/gitblit/client/UsersPanel.java')
-rw-r--r-- | 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 9fcad7bc..cd571b26 100644 --- a/src/com/gitblit/client/UsersPanel.java +++ b/src/com/gitblit/client/UsersPanel.java @@ -40,7 +40,9 @@ import javax.swing.event.ListSelectionEvent; 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 @@ public abstract class UsersPanel extends JPanel { 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));
|