From 1e5905b8da9b76356c99a3d94b2ca9068ffe1c93 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 30 Sep 2014 08:08:58 -0400
Subject: [PATCH] Merge branch 'ticket/136' into develop
---
src/main/java/com/gitblit/wicket/pages/BasePage.java | 11 +++++++++++
src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java | 2 +-
src/main/java/com/gitblit/wicket/pages/EditTicketPage.java | 4 ++--
src/main/java/com/gitblit/wicket/pages/NewTicketPage.java | 3 ++-
src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java | 2 +-
src/main/java/com/gitblit/wicket/pages/RootPage.java | 4 ++--
6 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/BasePage.java b/src/main/java/com/gitblit/wicket/pages/BasePage.java
index b454b7a..03d1918 100644
--- a/src/main/java/com/gitblit/wicket/pages/BasePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/BasePage.java
@@ -45,6 +45,7 @@
import org.apache.wicket.protocol.http.RequestUtils;
import org.apache.wicket.protocol.http.WebResponse;
import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.request.target.basic.RedirectRequestTarget;
import org.apache.wicket.util.time.Duration;
import org.apache.wicket.util.time.Time;
import org.slf4j.Logger;
@@ -110,6 +111,15 @@
String relativeUrl = urlFor(clazz, params).toString();
String canonicalUrl = RequestUtils.toAbsolutePath(relativeUrl);
return canonicalUrl;
+ }
+
+ protected void manualRedirect(Class<? extends BasePage> pageClass) {
+ redirect(pageClass, null);
+ }
+
+ protected void redirect(Class<? extends BasePage> pageClass, PageParameters parameters) {
+ String absoluteUrl = getCanonicalUrl(pageClass, parameters);
+ getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
}
protected String getLanguageCode() {
@@ -495,4 +505,5 @@
}
return sb.toString();
}
+
}
diff --git a/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java b/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
index 4ed77d8..801631e 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
@@ -143,7 +143,7 @@
}
if (success && app().tickets().updateMilestone(getRepositoryModel(), tm, createdBy)) {
- setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
+ redirect(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
} else {
// TODO error
}
diff --git a/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java b/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
index 074ffa6..b55ce9c 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
@@ -331,13 +331,13 @@
if (ticket != null) {
TicketNotifier notifier = app().tickets().createNotifier();
notifier.sendMailing(ticket);
- setResponsePage(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number));
+ redirect(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number));
} else {
// TODO error
}
} else {
// nothing to change?!
- setResponsePage(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number));
+ redirect(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number));
}
}
});
diff --git a/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java b/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
index cc33190..24a4312 100644
--- a/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
@@ -108,7 +108,7 @@
if (milestone != null) {
milestone.due = due;
app().tickets().updateMilestone(getRepositoryModel(), milestone, createdBy);
- throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
+ redirect(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
} else {
// TODO error
}
diff --git a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
index e6d9cb1..f80a7d7 100644
--- a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
@@ -222,7 +222,8 @@
if (ticket != null) {
TicketNotifier notifier = app().tickets().createNotifier();
notifier.sendMailing(ticket);
- setResponsePage(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number));
+
+ redirect(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number));
} else {
// TODO error
}
diff --git a/src/main/java/com/gitblit/wicket/pages/RootPage.java b/src/main/java/com/gitblit/wicket/pages/RootPage.java
index 6a933b7..15e4304 100644
--- a/src/main/java/com/gitblit/wicket/pages/RootPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RootPage.java
@@ -280,12 +280,12 @@
PageParameters params = getPageParameters();
if (params == null) {
// redirect to this page
- setResponsePage(getClass());
+ manualRedirect(getClass());
} else {
// Strip username and password and redirect to this page
params.remove("username");
params.remove("password");
- setResponsePage(getClass(), params);
+ redirect(getClass(), params);
}
}
}
--
Gitblit v1.9.1