diff options
author | Ismo Haataja <ismo.haataja@digia.com> | 2013-04-30 15:14:54 +0300 |
---|---|---|
committer | Ismo Haataja <ismo.haataja@digia.com> | 2013-08-22 07:42:01 +0200 |
commit | 8a29078540e2d9afb8fe1ff381424df5979d8d81 (patch) | |
tree | aee61f2446422712ebf4e54f368fd4a2be384ec4 /gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java | |
parent | 42d1d7d1aabd0dcfd0a0439c57c4427e5790136e (diff) |
Add new change state "deferred".v2.2.1-based
Support for new change state "deferred" to be able to discern
"really dead" from "postponed" changes. This is equal to "abandoned"
for all practical purposes except presentation and filtering. State
transitions are possible between "review in progress", "abandoned"
and "deferred". And menu bar has new "All/deferred" and "My/Deferred
Changes" default filters.
Task-number: QTQAINFRA-598
Change-Id: I57b4f716fb826c5f246d02463b1ed9c75c4d04ae
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java')
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java index d9cf3a964f..ba55b44af9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/TopicControl.java @@ -152,9 +152,19 @@ public class TopicControl { ; } + /** Can this user defer this topic? */ + public boolean canDefer() { + return isOwner() // owner (aka creator) of the change can defer + || getRefControl().isOwner() // branch owner can defer + || getProjectControl().isOwner() // project owner can defer + || getCurrentUser().isAdministrator() // site administers are god + ; + } + /** Can this user restore this topic? */ public boolean canRestore() { - return canAbandon(); // Anyone who can abandon the change can restore it back + // Anyone who can abandon or defer the change can restore it back + return canAbandon() || canDefer(); } /** All value ranges of any allowed label permission. */ |