From fe326255202dcfac8b0991ca9d28e3cf4bcc4fe6 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 23 Oct 2011 12:28:48 -0400
Subject: [PATCH] Per-repository setting to skip summary metrics

---
 src/com/gitblit/client/EditUserDialog.java |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/com/gitblit/client/EditUserDialog.java b/src/com/gitblit/client/EditUserDialog.java
index 988f8fb..c77713a 100644
--- a/src/com/gitblit/client/EditUserDialog.java
+++ b/src/com/gitblit/client/EditUserDialog.java
@@ -55,6 +55,8 @@
 
 	private static final long serialVersionUID = 1L;
 
+	private final String username;
+
 	private final UserModel user;
 
 	private final ServerSettings settings;
@@ -85,6 +87,7 @@
 
 	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 @@
 				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);

--
Gitblit v1.9.1