Skip to content

Commit

Permalink
Merged #238 "issue 564: enable ticket page update on tomcat with redi…
Browse files Browse the repository at this point in the history
…rects"
  • Loading branch information
gitblit committed Feb 26, 2015
2 parents c71e8bd + 47a544e commit eb265c0
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
16 changes: 8 additions & 8 deletions src/main/java/com/gitblit/wicket/pages/TicketPage.java
Expand Up @@ -378,7 +378,7 @@ public void onClick(AjaxRequestTarget target) {
}
TicketModel update = app().tickets().updateTicket(repository, ticket.number, change);
app().tickets().createNotifier().sendMailing(update);
setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}
};
String css = TicketsUI.getStatusClass(item.getModel().getObject());
Expand Down Expand Up @@ -442,7 +442,7 @@ public void onClick(AjaxRequestTarget target) {
}
TicketModel update = app().tickets().updateTicket(repository, ticket.number, change);
app().tickets().createNotifier().sendMailing(update);
setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}
};
item.add(link);
Expand Down Expand Up @@ -487,7 +487,7 @@ public void onClick(AjaxRequestTarget target) {
}
TicketModel update = app().tickets().updateTicket(repository, ticket.number, change);
app().tickets().createNotifier().sendMailing(update);
setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}
};
item.add(link);
Expand Down Expand Up @@ -560,7 +560,7 @@ public void onClick(AjaxRequestTarget target) {
change.vote(user.username);
}
app().tickets().updateTicket(repository, ticket.number, change);
setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}
};
add(link);
Expand Down Expand Up @@ -600,7 +600,7 @@ public void onClick(AjaxRequestTarget target) {
change.watch(user.username);
}
app().tickets().updateTicket(repository, ticket.number, change);
setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}
};
add(link);
Expand Down Expand Up @@ -1297,7 +1297,7 @@ protected void review(Score score) {
}
TicketModel updatedTicket = app().tickets().updateTicket(getRepositoryModel(), ticket.number, change);
app().tickets().createNotifier().sendMailing(updatedTicket);
setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}

protected <X extends MarkupContainer> X setNewTarget(X x) {
Expand Down Expand Up @@ -1408,8 +1408,8 @@ public void run() {
GitBlitWebSession.get().cacheErrorMessage(msg);
logger.error(msg);
}

setResponsePage(TicketsPage.class, getPageParameters());
redirectTo(TicketsPage.class, getPageParameters());
}
};
mergePanel.add(mergeButton);
Expand Down
23 changes: 22 additions & 1 deletion src/main/java/com/gitblit/wicket/panels/CommentPanel.java
Expand Up @@ -15,12 +15,15 @@
*/
package com.gitblit.wicket.panels;

import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.http.RequestUtils;
import org.apache.wicket.request.target.basic.RedirectRequestTarget;

import com.gitblit.models.RepositoryModel;
import com.gitblit.models.TicketModel;
Expand Down Expand Up @@ -79,14 +82,32 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {
TicketModel updatedTicket = app().tickets().updateTicket(repository, ticket.number, newComment);
if (updatedTicket != null) {
app().tickets().createNotifier().sendMailing(updatedTicket);
setResponsePage(pageClass, WicketUtils.newObjectParameter(updatedTicket.repository, "" + ticket.number));
redirectTo(pageClass, WicketUtils.newObjectParameter(updatedTicket.repository, "" + ticket.number));
} else {
error("Failed to add comment!");
}
} else {
// TODO update comment
}
}

/**
* Steal from BasePage to realize redirection.
*
* @see BasePage
* @author krulls@GitHub; ECG Leipzig GmbH, Germany, 2015
*
* @param pageClass
* @param parameters
* @return
*/
private void redirectTo(Class<? extends BasePage> pageClass, PageParameters parameters)
{
String relativeUrl = urlFor(pageClass, parameters).toString();
String canonicalUrl = RequestUtils.toAbsolutePath(relativeUrl);
getRequestCycle().setRequestTarget(new RedirectRequestTarget(canonicalUrl));
}

}.setVisible(ticket != null && ticket.number > 0));

final IModel<String> markdownPreviewModel = Model.of();
Expand Down

0 comments on commit eb265c0

Please sign in to comment.