From 8a2e9c363346ef5bf48c8eba09cb8afa46fabeeb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 24 May 2011 17:17:51 -0400
Subject: [PATCH] Delete/Rename repos & user. Edit link. Dropped crypt. Other git urls.

---
 src/com/gitblit/wicket/pages/EditRepositoryPage.java |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index 56d1d55..20a9c73 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -36,6 +36,8 @@
 
 	private final boolean isCreate;
 
+	private boolean isAdmin = false;
+	
 	public EditRepositoryPage() {
 		// create constructor
 		super();
@@ -67,6 +69,7 @@
 			}
 		}
 
+		final String oldName = repositoryModel.name;
 		final Palette<String> usersPalette = new Palette<String>("users", new ListModel<String>(repositoryUsers), new CollectionModel<String>(GitBlit.self().getAllUsernames()), new ChoiceRenderer<String>("", ""), 10, false);
 		CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>(repositoryModel);
 		Form<RepositoryModel> form = new Form<RepositoryModel>("editForm", model) {
@@ -94,7 +97,7 @@
 								ok |= c == vc;
 							}
 							if (!ok) {
-								error(MessageFormat.format("Illegal character '{0}' in repository name!", c));
+								error(MessageFormat.format("Illegal character ''{0}'' in repository name!", c));
 								return;
 							}
 						}
@@ -107,7 +110,7 @@
 					}
 
 					// save the repository
-					GitBlit.self().editRepositoryModel(repositoryModel, isCreate);
+					GitBlit.self().editRepositoryModel(oldName, repositoryModel, isCreate);
 
 					// save the repository access list
 					if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) {
@@ -117,7 +120,7 @@
 							repositoryUsers.add(users.next());
 						}
 						// ensure the owner is added to the user list
-						if (!repositoryUsers.contains(repositoryModel.owner)) {
+						if (repositoryModel.owner != null && !repositoryUsers.contains(repositoryModel.owner)) {
 							repositoryUsers.add(repositoryModel.owner);
 						}
 						GitBlit.self().setRepositoryUsers(repositoryModel, repositoryUsers);
@@ -132,7 +135,7 @@
 		};
 
 		// field names reflective match RepositoryModel fields
-		form.add(new TextField<String>("name").setEnabled(isCreate));
+		form.add(new TextField<String>("name").setEnabled(isCreate || isAdmin));
 		form.add(new TextField<String>("description"));
 		form.add(new DropDownChoice<String>("owner", GitBlit.self().getAllUsernames()).setEnabled(GitBlitWebSession.get().canAdmin()));
 		form.add(new DropDownChoice<AccessRestrictionType>("accessRestriction", Arrays.asList(AccessRestrictionType.values()), new AccessRestrictionRenderer()));
@@ -175,6 +178,7 @@
 					// Edit Repository
 					if (user.canAdmin()) {
 						// Admins can edit everything
+						isAdmin = true;
 						return;
 					} else {
 						if (!model.owner.equalsIgnoreCase(user.getUsername())) {

--
Gitblit v1.9.1