From b701ed7c4e138c4aaa3acb029f6e35fdf01388e4 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 01 Nov 2012 17:32:13 -0400
Subject: [PATCH] Ignore permission definitions for admins, it just confuses things
---
src/com/gitblit/client/RegistrantPermissionsPanel.java | 34 +++++++++++++++++++++++++++-------
1 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/src/com/gitblit/client/RegistrantPermissionsPanel.java b/src/com/gitblit/client/RegistrantPermissionsPanel.java
index b8ab939..ef04a87 100644
--- a/src/com/gitblit/client/RegistrantPermissionsPanel.java
+++ b/src/com/gitblit/client/RegistrantPermissionsPanel.java
@@ -19,6 +19,7 @@
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
@@ -132,9 +133,15 @@
permissions = new ArrayList<RegistrantAccessPermission>();
}
for (RegistrantAccessPermission rp : permissions) {
- if (rp.isEditable) {
+ if (rp.mutable) {
// only remove editable duplicates
// this allows for specifying an explicit permission
+ filtered.remove(rp.registrant);
+ } else if (rp.isAdmin()) {
+ // administrators can not have their permission changed
+ filtered.remove(rp.registrant);
+ } else if (rp.isOwner()) {
+ // owners can not have their permission changed
filtered.remove(rp.registrant);
}
}
@@ -172,19 +179,32 @@
@Override
protected void setValue(Object value) {
- PermissionType pType = (PermissionType) value;
- switch (pType) {
+ RegistrantAccessPermission ap = (RegistrantAccessPermission) value;
+ switch (ap.permissionType) {
+ case ADMINISTRATOR:
+ setText(ap.source == null ? Translation.get("gb.administrator") : ap.source);
+ setToolTipText(Translation.get("gb.administratorPermission"));
+ break;
case OWNER:
- setText("owner");
+ setText(Translation.get("gb.owner"));
setToolTipText(Translation.get("gb.ownerPermission"));
+ break;
+ case TEAM:
+ setText(ap.source == null ? Translation.get("gb.team") : ap.source);
+ setToolTipText(MessageFormat.format(Translation.get("gb.teamPermission"), ap.source));
break;
case REGEX:
setText("regex");
- setToolTipText(Translation.get("gb.regexPermission"));
+ setToolTipText(MessageFormat.format(Translation.get("gb.regexPermission"), ap.source));
break;
default:
- setText("");
- setToolTipText(null);
+ if (ap.isMissing()) {
+ setText(Translation.get("gb.missing"));
+ setToolTipText(Translation.get("gb.missingPermission"));
+ } else {
+ setText("");
+ setToolTipText(null);
+ }
break;
}
}
--
Gitblit v1.9.1