diff options
author | Ismo Haataja <ismo.haataja@digia.com> | 2014-08-15 11:42:27 +0300 |
---|---|---|
committer | Ismo Haataja <ismo.haataja@digia.com> | 2014-10-08 07:50:38 +0200 |
commit | 0ecc600a87d5cc16429492ea91aedb447af1c028 (patch) | |
tree | f9c903a624710cd1ea224cd5ed7afde36c9cb476 | |
parent | 00c4903f7e21f4ca2cf42a438c08c13823c63196 (diff) |
Hide the "defer" button if a change in state INTEGRATING
The "defer" button was incorrectly visible for a change in state
INTEGRATING. Now the state of a change is checked and deferring
not allowed in state INTEGRATING.
Task-number: QTQAINFRA-889
Change-Id: I6c4134098f875e19e85eb0c6e7b291557952cadc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java index f1126c725f..ab6a6f0b39 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java @@ -214,12 +214,16 @@ public class ChangeControl { /** Can this user defer this change? */ public boolean canDefer() { - return isOwner() // owner (aka creator) of the change can defer + boolean userCan = isOwner() // owner (aka creator) of the change can defer || getRefControl().isOwner() // branch owner can defer || getProjectControl().isOwner() // project owner can defer || getCurrentUser().getCapabilities().canAdministrateServer() // site administers are god || getRefControl().canDefer() // user can defer a specific ref ; + + // Cannot defer changes that are being processed by the continuous + // integration system. + return userCan && change.getStatus() != Change.Status.INTEGRATING; } /** Can this user restore this change? */ |