From bc9d4a0f2266e5ac1a018f0b691c76d53479b9e5 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Apr 2011 20:46:44 -0400
Subject: [PATCH] Working on error handling.

---
 src/com/gitblit/wicket/pages/EditRepositoryPage.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index fab3203..45fe9e2 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -9,6 +9,7 @@
 import org.apache.wicket.model.CompoundPropertyModel;
 
 import com.gitblit.GitBlit;
+import com.gitblit.GitBlitException;
 import com.gitblit.wicket.AdminPage;
 import com.gitblit.wicket.BasePage;
 import com.gitblit.wicket.WicketUtils;
@@ -30,34 +31,42 @@
 		// edit constructor
 		super(params);
 		isCreate = false;
-		String repositoryName = WicketUtils.getRepositoryName(params);
-		setupPage(new RepositoryModel(repositoryName, "", "", new Date()));
+		String name = WicketUtils.getRepositoryName(params);
+		RepositoryModel model = GitBlit.self().getRepositoryModel(name);
+		setupPage(model);
 	}
 
-	protected void setupPage(final RepositoryModel repository) {
+	protected void setupPage(final RepositoryModel repositoryModel) {
 		if (isCreate) {
 			super.setupPage("", getString("gb.newRepository"));
 		} else {
 			super.setupPage("", getString("gb.edit"));
 		}
-		CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>(repository);
+		CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>(repositoryModel);
 		Form<RepositoryModel> form = new Form<RepositoryModel>("editForm", model) {
 
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onSubmit() {
-				GitBlit.self().editRepository(repository, isCreate);
+				try {
+					GitBlit.self().editRepositoryModel(repositoryModel, isCreate);
+				} catch (GitBlitException e) {
+					error(e.getMessage());
+					return;
+				}
 				setRedirect(true);
 				setResponsePage(RepositoriesPage.class);
 			}
 		};
+		
+		// field names reflective match RepositoryModel fields
 		form.add(new TextField<String>("name").setEnabled(isCreate));
 		form.add(new TextField<String>("description"));
 		form.add(new TextField<String>("owner"));
+		form.add(new TextField<String>("group"));
 		form.add(new CheckBox("useTickets"));
 		form.add(new CheckBox("useDocs"));
-		form.add(new CheckBox("useNamedUsers"));
 
 		add(form);
 	}

--
Gitblit v1.9.1