From 077d23176a8f098766bf492081ae5ab9acb2d285 Mon Sep 17 00:00:00 2001
From: Carsten Lenz <clenz2@csc.com>
Date: Fri, 13 Jun 2014 08:26:23 -0400
Subject: [PATCH] Add german translation of welcome.mkd

---
 src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java |   73 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java b/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
index b92ba8b..4ed77d8 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
@@ -15,17 +15,23 @@
  */
 package com.gitblit.wicket.pages;
 
+import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.RestartResponseException;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.extensions.markup.html.form.DateTextField;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
@@ -37,6 +43,7 @@
 import com.gitblit.utils.StringUtils;
 import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.panels.BasePanel.JavascriptEventConfirmation;
 
 /**
  * Page for creating a new milestone.
@@ -62,7 +69,7 @@
 		RepositoryModel model = getRepositoryModel();
 		if (!app().tickets().isAcceptingTicketUpdates(model)) {
 			// ticket service is read-only
-			throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
+			throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 		}
 
 		UserModel currentUser = GitBlitWebSession.get().getUser();
@@ -72,31 +79,46 @@
 
 		if (!currentUser.isAuthenticated || !currentUser.canAdmin(model)) {
 			// administration prohibited
-			throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
+			throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 		}
 
 		oldName = WicketUtils.getObject(params);
 		if (StringUtils.isEmpty(oldName)) {
 			// milestone not specified
-			throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
+			throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 		}
 
 		TicketMilestone tm = app().tickets().getMilestone(getRepositoryModel(), oldName);
 		if (tm == null) {
 			// milestone does not exist
-			throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
+			throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 		}
 
 		setStatelessHint(false);
 		setOutputMarkupId(true);
 
-		Form<Void> form = new Form<Void>("editForm") {
+		Form<Void> form = new Form<Void>("editForm");
+		add(form);
+
+		nameModel = Model.of(tm.name);
+		dueModel = Model.of(tm.due);
+		statusModel = Model.of(tm.status);
+		notificationModel = Model.of(true);
+
+		form.add(new TextField<String>("name", nameModel));
+		form.add(new DateTextField("due", dueModel, "yyyy-MM-dd"));
+		form.add(new Label("dueFormat", "yyyy-MM-dd"));
+		form.add(new CheckBox("notify", notificationModel));
+
+		List<Status> statusChoices = Arrays.asList(Status.Open, Status.Closed);
+		form.add(new DropDownChoice<TicketModel.Status>("status", statusModel, statusChoices));
+
+		form.add(new AjaxButton("save") {
 
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void onSubmit() {
-
+			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
 				String name = nameModel.getObject();
 				if (StringUtils.isEmpty(name)) {
 					return;
@@ -121,53 +143,44 @@
 				}
 
 				if (success && app().tickets().updateMilestone(getRepositoryModel(), tm, createdBy)) {
-					setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(getRepositoryModel().name));
+					setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 				} else {
 					// TODO error
 				}
 			}
-		};
-		add(form);
-
-		nameModel = Model.of(tm.name);
-		dueModel = Model.of(tm.due);
-		statusModel = Model.of(tm.status);
-		notificationModel = Model.of(true);
-
-		form.add(new TextField<String>("name", nameModel));
-		form.add(new DateTextField("due", dueModel, "yyyy-MM-dd"));
-
-		List<Status> statusChoices = Arrays.asList(Status.Open, Status.Closed);
-		form.add(new DropDownChoice<TicketModel.Status>("status", statusModel, statusChoices));
-
-		form.add(new Button("save"));
+		});
 		Button cancel = new Button("cancel") {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			public void onSubmit() {
-				setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
+				setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 			}
 		};
 		cancel.setDefaultFormProcessing(false);
 		form.add(cancel);
 
-		Button delete = new Button("delete") {
+		Link<Void> delete = new Link<Void>("delete") {
+
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onSubmit() {
+			public void onClick() {
 				UserModel currentUser = GitBlitWebSession.get().getUser();
 				String createdBy = currentUser.username;
+				boolean notify = notificationModel.getObject();
 
-				if (app().tickets().deleteMilestone(getRepositoryModel(), oldName, createdBy)) {
-					setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
+				if (app().tickets().deleteMilestone(getRepositoryModel(), oldName, createdBy, notify)) {
+					setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
 				} else {
-					// TODO error processing
+					error(MessageFormat.format(getString("gb.milestoneDeleteFailed"), oldName));
 				}
 			}
 		};
-		delete.setDefaultFormProcessing(false);
+
+		delete.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(
+			getString("gb.deleteMilestone"), oldName)));
+
 		form.add(delete);
 	}
 

--
Gitblit v1.9.1