From 7f70511e9a13f4801e4e941affad6fc7b579c79d Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 10 Oct 2012 22:29:36 -0400
Subject: [PATCH] Support Team canAdmin, canCreate, and canFork (issue 36)

---
 src/com/gitblit/GitBlit.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 8c6d9eb..bf9b1ed 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -642,6 +642,22 @@
 						"Failed to rename ''{0}'' because ''{1}'' already exists.", username,
 						user.username));
 			}
+			
+			// rename repositories and owner fields for all repositories
+			for (RepositoryModel model : getRepositoryModels(user)) {
+				if (model.isUsersPersonalRepository(username)) {
+					// personal repository
+					model.owner = user.username;
+					String oldRepositoryName = model.name;
+					model.name = "~" + user.username + model.name.substring(model.projectPath.length());
+					model.projectPath = "~" + user.username;
+					updateRepositoryModel(oldRepositoryName, model, false);
+				} else if (model.isOwner(username)) {
+					// common/shared repo
+					model.owner = user.username;
+					updateRepositoryModel(model.name, model, false);
+				}
+			}
 		}
 		if (!userService.updateUserModel(username, user)) {
 			throw new GitBlitException(isCreate ? "Failed to add user!" : "Failed to update user!");

--
Gitblit v1.9.1