From 16038ce2adf5f06f75230150f75d110a804414c1 Mon Sep 17 00:00:00 2001 From: James Moger Date: Sat, 22 Oct 2011 09:48:17 -0400 Subject: Fixed collision error on rename repository or user --- src/com/gitblit/client/EditUserDialog.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/com/gitblit/client/EditUserDialog.java') diff --git a/src/com/gitblit/client/EditUserDialog.java b/src/com/gitblit/client/EditUserDialog.java index 988f8fb0..c77713a8 100644 --- a/src/com/gitblit/client/EditUserDialog.java +++ b/src/com/gitblit/client/EditUserDialog.java @@ -55,6 +55,8 @@ public class EditUserDialog extends JDialog { private static final long serialVersionUID = 1L; + private final String username; + private final UserModel user; private final ServerSettings settings; @@ -85,6 +87,7 @@ public class EditUserDialog extends JDialog { public EditUserDialog(UserModel anUser, ServerSettings settings) { super(); + this.username = anUser.username; this.user = new UserModel(""); this.settings = settings; this.usernames = new HashSet(); @@ -194,6 +197,16 @@ public class EditUserDialog extends JDialog { error(MessageFormat.format("Username ''{0}'' is unavailable.", uname)); return false; } + } else { + // check rename collision + if (!username.equalsIgnoreCase(uname)) { + if (usernames.contains(uname.toLowerCase())) { + error(MessageFormat.format( + "Failed to rename ''{0}'' because ''{1}'' already exists.", username, + uname)); + return false; + } + } } int minLength = settings.get(Keys.realm.minPasswordLength).getInteger(5); -- cgit v1.2.3