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