Browse Source

Fix permission checks for list entities.

master
Stanislav Usenkov 9 years ago
parent
commit
550c46ce5e
  1. 4
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java
  2. 44
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java

4
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java

@ -131,13 +131,13 @@ public class BukkitCommands
case "lg": case "lg":
case "gs": case "gs":
cmdEntity.listGroups(sender); cmdEntity.listGroups(sender);
return; throw new CommandAnswerException(Phrases.NO_PERMISSIONS.toString());
case "listusers": case "listusers":
case "users": case "users":
case "lu": case "lu":
case "us": case "us":
cmdEntity.listUsers(sender); cmdEntity.listUsers(sender);
return; throw new CommandAnswerException(Phrases.NO_PERMISSIONS.toString());
case "group": case "group":
case "g": case "g":
cmdEntity.onCommandHub(sender, CommandEntity.TargetType.GROUP, args); cmdEntity.onCommandHub(sender, CommandEntity.TargetType.GROUP, args);

44
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 public void listGroups(CommandSender sender) throws CommandAnswerException
{ {
if(sender.hasPermission("rscp.admin") == false) if(sender.hasPermission("rscp.admin"))
throw new CommandAnswerException("Not enough permissions.");
final List<String> answer = new ArrayList<>(16);
final Set<RowEntity> groups = rscp.internalCache.getKnownGroupObjects();
answer.add("There are following known groups in database:");
for(RowEntity group : groups)
{ {
final String details = showEntityDetails(group); final List<String> answer = new ArrayList<>(16);
if(details != null) final Set<RowEntity> groups = rscp.internalCache.getKnownGroupObjects();
answer.add(details); 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 public void listUsers(CommandSender sender) throws CommandAnswerException
{ {
if(sender.hasPermission("rscp.admin") == false) if(sender.hasPermission("rscp.admin"))
throw new CommandAnswerException("Not enough permissions.");
final List<String> answer = new LinkedList<>();
final Set<RowEntity> users = rscp.internalCache.getKnownUserObjects();
answer.add("There are following known users in database:");
for(RowEntity user : users)
{ {
final String details = showEntityDetails(user); final List<String> answer = new LinkedList<>();
if(details != null) final Set<RowEntity> users = rscp.internalCache.getKnownUserObjects();
answer.add(details); 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 public void onCommandHub(CommandSender sender, TargetType type, String[] args) throws CommandAnswerException
{ {
@ -447,7 +449,7 @@ public class CommandEntity extends CommandEntityHelper
if(Matchers.isCorrectDashlessUUID(player)) if(Matchers.isCorrectDashlessUUID(player))
player = Matchers.uuidAddDashes(player); player = Matchers.uuidAddDashes(player);
final ArrayList<String> answer = new ArrayList<>(); final ArrayList<String> 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()) for(String group : result.getOrderedGroups())
answer.add("{_LG}" + group); answer.add("{_LG}" + group);
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);

Loading…
Cancel
Save