From f11592770694e9d0a391a31fa23f455bc05756c1 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 31 Oct 2014 09:22:01 -0400 Subject: [PATCH] Merged #212 "Gracefully handle missing integration branch in ticket page" --- src/main/java/com/gitblit/wicket/pages/NewTicketPage.java | 37 +++++++++++++++++++++++++++++++------ 1 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java index 21a2af1..ea3e960 100644 --- a/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java +++ b/src/main/java/com/gitblit/wicket/pages/NewTicketPage.java @@ -49,8 +49,6 @@ 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; @@ -77,6 +75,10 @@ private IModel<TicketMilestone> milestoneModel; private Label descriptionPreview; + + private IModel<TicketModel.Priority> priorityModel; + + private IModel<TicketModel.Severity> severityModel; public NewTicketPage(PageParameters params) { super(params); @@ -92,11 +94,13 @@ } typeModel = Model.of(TicketModel.Type.defaultType); - titleModel = SafeTextModel.none(); - topicModel = SafeTextModel.none(); + titleModel = Model.of(); + topicModel = Model.of(); mergeToModel = Model.of(Repository.shortenRefName(getRepositoryModel().mergeTo)); responsibleModel = Model.of(); milestoneModel = Model.of(); + severityModel = Model.of(TicketModel.Severity.defaultSeverity); + priorityModel = Model.of(TicketModel.Priority.defaultPriority); setStatelessHint(false); setOutputMarkupId(true); @@ -108,7 +112,7 @@ form.add(new TextField<String>("title", titleModel)); form.add(new TextField<String>("topic", topicModel)); - final SafeTextModel markdownPreviewModel = new SafeTextModel(Mode.none); + final IModel<String> markdownPreviewModel = Model.of(); descriptionPreview = new Label("descriptionPreview", markdownPreviewModel); descriptionPreview.setEscapeModelStrings(false); descriptionPreview.setOutputMarkupId(true); @@ -154,6 +158,12 @@ milestone.add(new DropDownChoice<TicketMilestone>("milestone", milestoneModel, milestones)); form.add(milestone.setVisible(!milestones.isEmpty())); + // priority + form.add(new DropDownChoice<TicketModel.Priority>("priority", priorityModel, Arrays.asList(TicketModel.Priority.choices()))); + + //severity + form.add(new DropDownChoice<TicketModel.Severity>("severity", severityModel, Arrays.asList(TicketModel.Severity.choices()))); + // integration branch List<String> branches = new ArrayList<String>(); for (String branch : getRepositoryModel().getLocalBranches()) { @@ -213,6 +223,20 @@ if (milestone != null) { change.setField(Field.milestone, milestone.name); } + + // severity + TicketModel.Severity severity = TicketModel.Severity.defaultSeverity; + if (severityModel.getObject() != null) { + severity = severityModel.getObject(); + } + change.setField(Field.severity, severity); + + // priority + TicketModel.Priority priority = TicketModel.Priority.defaultPriority; + if (priorityModel.getObject() != null) { + priority = priorityModel.getObject(); + } + change.setField(Field.priority, priority); // integration branch String mergeTo = mergeToModel.getObject(); @@ -224,7 +248,8 @@ if (ticket != null) { TicketNotifier notifier = app().tickets().createNotifier(); notifier.sendMailing(ticket); - setResponsePage(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number)); + + redirectTo(TicketsPage.class, WicketUtils.newObjectParameter(getRepositoryModel().name, "" + ticket.number)); } else { // TODO error } -- Gitblit v1.9.1