summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@google.com>2020-03-25 16:30:33 +0100
committerLuca Milanesio <luca.milanesio@gmail.com>2020-11-20 19:37:43 +0000
commit5af9b3bfb7224cc7e3e2338d69c7df597657519f (patch)
tree416f3aeb0223c904045be607e869ed7b06958359
parentba19d55f71e0e8b8b8f9911ee53a85388b99a072 (diff)
Add a warning if submitting a change with an open change edit
Bug: Issue 12287 Change-Id: I25aa799a69d0fcce1db55d9d1ed87675a6d3f1fb (cherry picked from commit a36f08348aaab175cab001d6f50be1db903a6d7b)
-rw-r--r--polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.html5
-rw-r--r--polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.js5
-rw-r--r--polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.html27
3 files changed, 36 insertions, 1 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.html b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.html
index 1036b7fbcc..b9c32ed570 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.html
+++ b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.html
@@ -53,6 +53,11 @@ limitations under the License.
<template is="dom-if" if="[[change.is_private]]">
<p><strong>Heads Up!</strong> Submitting this private change will also make it public.</p>
</template>
+ <template is="dom-if" if="[[_computeHasChangeEdit(change)]]">
+ <iron-icon icon="gr-icons:error" class="warningBeforeSubmit"></iron-icon>
+ Your unpublished edit will not be submitted. Did you
+ forget to click <b>PUBLISH</b>?
+ </template>
<gr-endpoint-param name="change" value="[[change]]"></gr-endpoint-param>
<gr-endpoint-param name="action" value="[[action]]"></gr-endpoint-param>
</gr-endpoint-decorator>
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.js b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.js
index 93d38df33d..55c5c672e8 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.js
+++ b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog.js
@@ -54,6 +54,11 @@
this.$.dialog.resetFocus();
},
+ _computeHasChangeEdit(change) {
+ return !!change.revisions &&
+ Object.values(change.revisions).some(rev => rev._number == 'edit');
+ },
+
_handleConfirmTap(e) {
e.preventDefault();
this.dispatchEvent(new CustomEvent('confirm', {bubbles: false}));
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.html b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.html
index 86c15f6a6e..dd61d1c1c9 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.html
+++ b/polygerrit-ui/app/elements/change/gr-confirm-submit-dialog/gr-confirm-submit-dialog_test.html
@@ -50,7 +50,10 @@ limitations under the License.
test('display', () => {
element.action = {label: 'my-label'};
- element.change = {subject: 'my-subject'};
+ element.change = {
+ subject: 'my-subject',
+ revisions: {},
+ };
flushAsynchronousOperations();
const header = element.$$('.header');
assert.equal(header.textContent.trim(), 'my-label');
@@ -59,5 +62,27 @@ limitations under the License.
assert.notEqual(message.textContent.length, 0);
assert.notEqual(message.textContent.indexOf('my-subject'), -1);
});
+
+ test('_computeHasChangeEdit', () => {
+ const change = {
+ revisions: {
+ d442ff05d6c4f2a3af0eeca1f67374b39f9dc3d8: {
+ _number: 'edit',
+ },
+ },
+ unresolved_comment_count: 0,
+ };
+
+ assert.equal(element._computeHasChangeEdit(change), true);
+
+ const change2 = {
+ revisions: {
+ d442ff05d6c4f2a3af0eeca1f67374b39f9dc3d8: {
+ _number: 2,
+ },
+ },
+ };
+ assert.equal(element._computeHasChangeEdit(change2), false);
+ });
});
</script>