From c4a443e8bdd6f85265f4c460686bc44ddc8183e1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 09 May 2014 09:56:22 -0400
Subject: [PATCH] Merged #67 "Allow disabling repository deletion"
---
src/main/java/com/gitblit/models/TicketModel.java | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/gitblit/models/TicketModel.java b/src/main/java/com/gitblit/models/TicketModel.java
index 1ff55dd..f843e99 100644
--- a/src/main/java/com/gitblit/models/TicketModel.java
+++ b/src/main/java/com/gitblit/models/TicketModel.java
@@ -35,6 +35,7 @@
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.NoSuchElementException;
import java.util.Set;
import java.util.TreeSet;
import java.util.regex.Matcher;
@@ -785,7 +786,21 @@
for (String item : items) {
list.add(prefix + item);
}
- setField(field, join(list, ","));
+ if (hasField(field)) {
+ String flat = getString(field);
+ if (isEmpty(flat)) {
+ // field is empty, use this list
+ setField(field, join(list, ","));
+ } else {
+ // merge this list into the existing field list
+ Set<String> set = new TreeSet<String>(Arrays.asList(flat.split(",")));
+ set.addAll(list);
+ setField(field, join(set, ","));
+ }
+ } else {
+ // does not have a list for this field
+ setField(field, join(list, ","));
+ }
}
public String getId() {
@@ -1138,7 +1153,8 @@
}
public static enum Score {
- approved(2), looks_good(1), not_reviewed(0), needs_improvement(-1), vetoed(-2);
+ approved(2), looks_good(1), not_reviewed(0), needs_improvement(-1), vetoed(
+ -2);
final int value;
@@ -1153,6 +1169,15 @@
@Override
public String toString() {
return name().toLowerCase().replace('_', ' ');
+ }
+
+ public static Score fromScore(int score) {
+ for (Score s : values()) {
+ if (s.getValue() == score) {
+ return s;
+ }
+ }
+ throw new NoSuchElementException(String.valueOf(score));
}
}
@@ -1201,13 +1226,15 @@
}
public static enum Status {
- New, Open, Resolved, Fixed, Merged, Wontfix, Declined, Duplicate, Invalid, On_Hold;
+ New, Open, Closed, Resolved, Fixed, Merged, Wontfix, Declined, Duplicate, Invalid, Abandoned, On_Hold;
- public static Status [] requestWorkflow = { Open, Resolved, Declined, Duplicate, Invalid, On_Hold };
+ public static Status [] requestWorkflow = { Open, Resolved, Declined, Duplicate, Invalid, Abandoned, On_Hold };
- public static Status [] bugWorkflow = { Open, Fixed, Wontfix, Duplicate, Invalid, On_Hold };
+ public static Status [] bugWorkflow = { Open, Fixed, Wontfix, Duplicate, Invalid, Abandoned, On_Hold };
- public static Status [] proposalWorkflow = { Open, Declined, On_Hold};
+ public static Status [] proposalWorkflow = { Open, Resolved, Declined, Abandoned, On_Hold };
+
+ public static Status [] milestoneWorkflow = { Open, Closed, Abandoned, On_Hold };
@Override
public String toString() {
--
Gitblit v1.9.1