summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <david.pursehouse@sonymobile.com>2015-08-03 15:05:18 +0900
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2015-08-04 13:20:33 +0000
commit4bc067eeb7795f541e80d8ddc8168918d635b4cf (patch)
tree73e4c371e9623a97d2d2588cb4321eeec1e29428
parentca4f9a03a2cce603010d00593cce416c520900a8 (diff)
Show correct change status for draft patch sets
If a change is draft, the change status is correctly shown as "Draft". However if a new patch set is uploaded as draft to an already published change, the draft status is not considered. Add checks for the status of the currently viewed patch set, and show the status as "Draft" as appropriate. Bug: Issue 3478 Change-Id: Ic2bd739050a85d4897819162e6eee4633888c53f
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java
index 4d7dac206c..8b29f86efb 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen.java
@@ -1016,7 +1016,10 @@ public class ChangeScreen extends Screen {
}
private boolean isSubmittable(ChangeInfo info) {
- boolean canSubmit = info.status().isOpen();
+ boolean canSubmit =
+ info.status().isOpen() &&
+ revision.equals(info.current_revision()) &&
+ !info.revision(revision).draft();
if (canSubmit && info.status() == Change.Status.NEW) {
for (String name : info.labels()) {
LabelInfo label = info.label(name);
@@ -1053,7 +1056,8 @@ public class ChangeScreen extends Screen {
statusText.setInnerText(Util.C.notCurrent());
labels.setVisible(false);
} else {
- statusText.setInnerText(Util.toLongString(info.status()));
+ Status s = info.revision(revision).draft() ? Status.DRAFT : info.status();
+ statusText.setInnerText(Util.toLongString(s));
}
labels.set(info);