summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/client/EditUserDialog.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-10-22 09:48:17 -0400
committerJames Moger <james.moger@gitblit.com>2011-10-22 09:48:17 -0400
commit16038ce2adf5f06f75230150f75d110a804414c1 (patch)
treeff624aaf429d99ed0ba91614fcccaf789e286b26 /src/com/gitblit/client/EditUserDialog.java
parent4a286829631bd6e69f670ff1ef3e1f22d570b940 (diff)
downloadgitblit-16038ce2adf5f06f75230150f75d110a804414c1.tar.gz
gitblit-16038ce2adf5f06f75230150f75d110a804414c1.zip
Fixed collision error on rename repository or user
Diffstat (limited to 'src/com/gitblit/client/EditUserDialog.java')
-rw-r--r--src/com/gitblit/client/EditUserDialog.java13
1 files changed, 13 insertions, 0 deletions
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<String>();
@@ -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);