diff options
author | Ismo Haataja <ismo.haataja@digia.com> | 2014-08-12 10:32:18 +0300 |
---|---|---|
committer | Ismo Haataja <ismo.haataja@digia.com> | 2014-10-15 08:47:08 +0200 |
commit | 4155ebea0665440b8d8cd1573a32cc400dea8c37 (patch) | |
tree | 4acee8c18b861a5dc26c2e4fb6c7ade88e70f9d9 | |
parent | 44e8aaf2ecabd9c4ffe630ce13e0a6b10b08013c (diff) |
Remove incorrect error message after reviewing a change
If the state has changed to one of CI states (STAGING, STAGED or INTEGRATING)
during review, error message is shown to the user. This incorrectly happened also
when commenting a change already in CI state. Now the error message is shown only
when review was initiated from non CI state but the state has changed to one of
CI states meanwhile, before saving review.
Task-number: QTQAINFRA-858
Change-Id: I3be7b56c6e3d80f9b4c3f8a0a7a97a7757da4ac3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Ismo Haataja <ismo.haataja@digia.com>
3 files changed, 8 insertions, 1 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java index d1aee8c4a2..f0da646463 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java @@ -87,6 +87,7 @@ public class PublishCommentScreen extends AccountScreen implements private List<CommentEditorPanel> commentEditors; private ChangeInfo change; private CommentLinkProcessor commentLinkProcessor; + private boolean changeInCI = false; public PublishCommentScreen(final PatchSet.Id psi) { patchSetId = psi; @@ -335,6 +336,7 @@ public class PublishCommentScreen extends AccountScreen implements private void display(final PatchSetPublishDetail r) { ChangeDetail changeDetail = new ChangeDetail(); changeDetail.setChange(r.getChange()); + changeInCI = r.getChange().getStatus().isCI(); setPageTitle(Util.M.publishComments(r.getChange().getKey().abbreviate(), patchSetId.get())); @@ -429,6 +431,7 @@ public class PublishCommentScreen extends AccountScreen implements data.label(b.label.name(), b.parseValue()); } } + data.changeReviewable(!changeInCI); enableForm(false); new RestApi("/changes/") @@ -470,6 +473,7 @@ public class PublishCommentScreen extends AccountScreen implements this.strict_labels = true; this.drafts = 'PUBLISH'; }-*/; + final native void changeReviewable(boolean b) /*-{ this.change_reviewable=b; }-*/; public final native String getMessage() /*-{ return this.message; }-*/; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java index 026a269e22..c8a7c57fb2 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java @@ -86,6 +86,8 @@ public class PostReview implements RestModifyView<RevisionResource, Input> { /** Who to send email notifications to after review is stored. */ public NotifyHandling notify = NotifyHandling.ALL; + + public boolean changeReviewable; } public static enum DraftHandling { @@ -179,7 +181,7 @@ public class PostReview implements RestModifyView<RevisionResource, Input> { Output output = new Output(); output.labels = input.labels; - if (input.labels != null && change.getStatus().isCI()) { + if (input.labels != null && input.changeReviewable && change.getStatus().isCI()) { output.message = "The change was staged while you were reviewing it. " + "Due to this, only your comments were published, while your review scores were dropped."; diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java index 96feafa357..a26dfd7259 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java @@ -294,6 +294,7 @@ public class ReviewCommand extends SshCommand { try { ChangeControl ctl = changeControlFactory.controlFor(patchSet.getId().getParentKey()); + review.changeReviewable = !ctl.getChange().getStatus().isCI(); if (abandonChange) { final Abandon abandon = abandonProvider.get(); |