From 550c46ce5eb3b0a582fc188c287075e1fe6fa890 Mon Sep 17 00:00:00 2001 From: Stanislav Usenkov Date: Fri, 12 Aug 2016 20:57:55 +0700 Subject: [PATCH] Fix permission checks for list entities. --- .../Bukkit/Commands/BukkitCommands.java | 4 +- .../Bukkit/Commands/CommandEntity.java | 44 ++++++++++--------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java index b64dbf7..a0b6fc0 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java @@ -131,13 +131,13 @@ public class BukkitCommands case "lg": case "gs": cmdEntity.listGroups(sender); - return; + throw new CommandAnswerException(Phrases.NO_PERMISSIONS.toString()); case "listusers": case "users": case "lu": case "us": cmdEntity.listUsers(sender); - return; + throw new CommandAnswerException(Phrases.NO_PERMISSIONS.toString()); case "group": case "g": cmdEntity.onCommandHub(sender, CommandEntity.TargetType.GROUP, args); diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java index 9d9303c..7437d11 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java @@ -83,33 +83,35 @@ public class CommandEntity extends CommandEntityHelper } public void listGroups(CommandSender sender) throws CommandAnswerException { - if(sender.hasPermission("rscp.admin") == false) - throw new CommandAnswerException("Not enough permissions."); - final List answer = new ArrayList<>(16); - final Set groups = rscp.internalCache.getKnownGroupObjects(); - answer.add("There are following known groups in database:"); - for(RowEntity group : groups) + if(sender.hasPermission("rscp.admin")) { - final String details = showEntityDetails(group); - if(details != null) - answer.add(details); + final List answer = new ArrayList<>(16); + final Set groups = rscp.internalCache.getKnownGroupObjects(); + answer.add("There are following known groups in database:"); + for(RowEntity group : groups) + { + final String details = showEntityDetails(group); + if(details != null) + answer.add(details); + } + throw new CommandAnswerException(answer); } - throw new CommandAnswerException(answer); } public void listUsers(CommandSender sender) throws CommandAnswerException { - if(sender.hasPermission("rscp.admin") == false) - throw new CommandAnswerException("Not enough permissions."); - final List answer = new LinkedList<>(); - final Set users = rscp.internalCache.getKnownUserObjects(); - answer.add("There are following known users in database:"); - for(RowEntity user : users) + if(sender.hasPermission("rscp.admin")) { - final String details = showEntityDetails(user); - if(details != null) - answer.add(details); + final List answer = new LinkedList<>(); + final Set users = rscp.internalCache.getKnownUserObjects(); + answer.add("There are following known users in database:"); + for(RowEntity user : users) + { + final String details = showEntityDetails(user); + if(details != null) + answer.add(details); + } + throw new CommandAnswerException(answer); } - throw new CommandAnswerException(answer); } public void onCommandHub(CommandSender sender, TargetType type, String[] args) throws CommandAnswerException { @@ -447,7 +449,7 @@ public class CommandEntity extends CommandEntityHelper if(Matchers.isCorrectDashlessUUID(player)) player = Matchers.uuidAddDashes(player); final ArrayList answer = new ArrayList<>(); - answer.add("List of parent groups for player {_YL}" + player + "{_LS}:"); + answer.add("Complete inheritance tree for player {_YL}" + player + "{_LS}:"); for(String group : result.getOrderedGroups()) answer.add("{_LG}" + group); throw new CommandAnswerException(answer);