James Moger
2012-11-01 3dec957f01b1e6b0af31476361efbb5767d0303d
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;
         }
      }