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