Warn when adding a node where an exception already exist.

This commit is contained in:
ElgarL 2013-02-25 10:46:16 +00:00
parent 5f5a9adf31
commit 9f13653be6
2 changed files with 18 additions and 9 deletions

View file

@ -216,4 +216,5 @@ v 2.0:
- Catch the error when using an out of date config for 'allow_commandblocks' So it doesn't kill the whole config. - Catch the error when using an out of date config for 'allow_commandblocks' So it doesn't kill the whole config.
- '/manselect' will no longer list duplicate worlds. - '/manselect' will no longer list duplicate worlds.
- Added a new mirroring option in the config of 'all_unnamed_worlds'. This will cause all new or unnamed worlds to use this mirroring. - Added a new mirroring option in the config of 'all_unnamed_worlds'. This will cause all new or unnamed worlds to use this mirroring.
- Don't allow adding a node with '/manuaddp' and '/mangaddp' which is already negated. - Don't allow adding a node with '/manuaddp' and '/mangaddp' which is already negated.
- Warn when adding a node where an exception already exist.

View file

@ -750,7 +750,7 @@ public class GroupManager extends JavaPlugin {
if (permissionResult.resultType.equals(PermissionCheckResult.Type.EXCEPTION)) { if (permissionResult.resultType.equals(PermissionCheckResult.Type.EXCEPTION)) {
sender.sendMessage(ChatColor.RED + "The user already has direct access to that permission."); sender.sendMessage(ChatColor.RED + "The user already has direct access to that permission.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return false; return true;
} }
} else if (auxString.startsWith("-")) { } else if (auxString.startsWith("-")) {
if (permissionResult.resultType.equals(PermissionCheckResult.Type.EXCEPTION)) { if (permissionResult.resultType.equals(PermissionCheckResult.Type.EXCEPTION)) {
@ -758,19 +758,23 @@ public class GroupManager extends JavaPlugin {
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return true; return true;
} else if (permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION)) { } else if (permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION)) {
sender.sendMessage(ChatColor.RED + "The user already has a matching node "); sender.sendMessage(ChatColor.RED + "The user already has a matching node.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return true; return true;
} }
} else { } else {
if (permissionResult.resultType.equals(PermissionCheckResult.Type.FOUND)) { if (permissionResult.resultType.equals(PermissionCheckResult.Type.EXCEPTION)) {
// Warn only while still allowing you to add the node.
sender.sendMessage(ChatColor.RED + "The user already has an exception for this node.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
} else if (permissionResult.resultType.equals(PermissionCheckResult.Type.FOUND)) {
sender.sendMessage(ChatColor.RED + "The user already has direct access to that permission."); sender.sendMessage(ChatColor.RED + "The user already has direct access to that permission.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return true; return true;
} else if (permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION)) { } else if (permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION)) {
sender.sendMessage(ChatColor.RED + "The user already has a matching Negated node "); // Warn only while still allowing you to add the node.
sender.sendMessage(ChatColor.RED + "The user already has a matching Negated node.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return true;
} }
} }
// Seems OK // Seems OK
@ -1015,14 +1019,18 @@ public class GroupManager extends JavaPlugin {
return true; return true;
} }
} else { } else {
if (permissionResult.resultType.equals(PermissionCheckResult.Type.FOUND)) { if (permissionResult.resultType.equals(PermissionCheckResult.Type.EXCEPTION)) {
// Warn only while still allowing you to add the node.
sender.sendMessage(ChatColor.RED + "The group already has an exception for this node.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
} else if (permissionResult.resultType.equals(PermissionCheckResult.Type.FOUND)) {
sender.sendMessage(ChatColor.RED + "The group already has direct access to that permission."); sender.sendMessage(ChatColor.RED + "The group already has direct access to that permission.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return true; return true;
} else if (permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION)) { } else if (permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION)) {
sender.sendMessage(ChatColor.RED + "The group already has a matching Negated node "); // Warn only while still allowing you to add the node.
sender.sendMessage(ChatColor.RED + "The group already has a matching Negated node.");
sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel); sender.sendMessage(ChatColor.RED + "Node: " + permissionResult.accessLevel);
return true;
} }
} }
// Seems OK // Seems OK