From 667163976e4e51fc3ebf191525e44d97c8a724dc Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 01 May 2014 14:31:18 -0400 Subject: [PATCH] Overdue labeling, notify changed tickets control --- src/main/java/com/gitblit/wicket/pages/TicketsPage.java | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/TicketsPage.java b/src/main/java/com/gitblit/wicket/pages/TicketsPage.java index 984b375..b7e392a 100644 --- a/src/main/java/com/gitblit/wicket/pages/TicketsPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TicketsPage.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -657,9 +658,20 @@ } else { add(new Label("newMilestone").setVisible(false)); } - + // milestones list - List<TicketMilestone> allMilestones = app().tickets().getMilestones(repositoryModel); + List<TicketMilestone> allMilestones = new ArrayList<TicketMilestone>(app().tickets().getMilestones(repositoryModel)); + Collections.sort(allMilestones, new Comparator<TicketMilestone>() { + @Override + public int compare(TicketMilestone o1, TicketMilestone o2) { + if (o2.isOpen() && !o1.isOpen()) { + return 1; + } else if (o1.isOpen() && !o2.isOpen()) { + return -1; + } + return o2.due.compareTo(o1.due); + } + }); ListDataProvider<TicketMilestone> allMilestonesDp = new ListDataProvider<TicketMilestone>(allMilestones); DataView<TicketMilestone> milestonesList = new DataView<TicketMilestone>("milestoneList", allMilestonesDp) { private static final long serialVersionUID = 1L; @@ -671,15 +683,21 @@ item.add(new LinkPanel("milestoneName", null, tm.name, TicketsPage.class, params).setRenderBodyOnly(true)); String css; + String status = tm.status.name(); switch (tm.status) { case Open: - css = "aui-lozenge aui-lozenge-subtle"; + if (tm.isOverdue()) { + css = "aui-lozenge aui-lozenge-subtle aui-lozenge-error"; + status = "overdue"; + } else { + css = "aui-lozenge aui-lozenge-subtle"; + } break; default: css = "aui-lozenge"; break; } - Label stateLabel = new Label("milestoneState", tm.status.name()); + Label stateLabel = new Label("milestoneState", status); WicketUtils.setCssClass(stateLabel, css); item.add(stateLabel); -- Gitblit v1.9.1