From 2b8a0fd89bdf63dcf87ae868559b97f8d3e6eee2 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 08 Sep 2014 13:10:38 -0400
Subject: [PATCH] Fix ticket mail dropping bug when author does not have an address
---
src/main/java/com/gitblit/wicket/pages/NewTicketPage.java | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
index cc0474a..7a68feb 100644
--- a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
@@ -46,6 +46,8 @@
import com.gitblit.tickets.TicketResponsible;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
+import com.gitblit.wicket.SafeTextModel;
+import com.gitblit.wicket.SafeTextModel.Mode;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.MarkdownTextArea;
@@ -87,8 +89,8 @@
}
typeModel = Model.of(TicketModel.Type.defaultType);
- titleModel = Model.of();
- topicModel = Model.of();
+ titleModel = SafeTextModel.none();
+ topicModel = SafeTextModel.none();
mergeToModel = Model.of(Repository.shortenRefName(getRepositoryModel().mergeTo));
responsibleModel = Model.of();
milestoneModel = Model.of();
@@ -103,7 +105,7 @@
form.add(new TextField<String>("title", titleModel));
form.add(new TextField<String>("topic", topicModel));
- final IModel<String> markdownPreviewModel = new Model<String>();
+ final SafeTextModel markdownPreviewModel = new SafeTextModel(Mode.none);
descriptionPreview = new Label("descriptionPreview", markdownPreviewModel);
descriptionPreview.setEscapeModelStrings(false);
descriptionPreview.setOutputMarkupId(true);
@@ -116,13 +118,23 @@
if (currentUser.canAdmin(null, getRepositoryModel())) {
// responsible
List<TicketResponsible> responsibles = new ArrayList<TicketResponsible>();
- for (RegistrantAccessPermission rp : app().repositories().getUserAccessPermissions(getRepositoryModel())) {
- if (rp.permission.atLeast(AccessPermission.PUSH) && !rp.isTeam()) {
- UserModel user = app().users().getUserModel(rp.registrant);
- if (user != null) {
+ if (UserModel.ANONYMOUS.canPush(getRepositoryModel())) {
+ // anonymous push allowed
+ for (UserModel user : app().users().getAllUsers()) {
+ if (!user.disabled) {
responsibles.add(new TicketResponsible(user));
}
}
+ } else {
+ // authenticated push
+ for (RegistrantAccessPermission rp : app().repositories().getUserAccessPermissions(getRepositoryModel())) {
+ if (rp.permission.atLeast(AccessPermission.PUSH) && !rp.isTeam()) {
+ UserModel user = app().users().getUserModel(rp.registrant);
+ if (user != null && !user.disabled) {
+ responsibles.add(new TicketResponsible(user));
+ }
+ }
+ }
}
Collections.sort(responsibles);
Fragment responsible = new Fragment("responsible", "responsibleFragment", this);
--
Gitblit v1.9.1