diff options
author | Han-Wen Nienhuys <hanwen@google.com> | 2020-03-25 16:30:33 +0100 |
---|---|---|
committer | Luca Milanesio <luca.milanesio@gmail.com> | 2020-11-20 19:37:43 +0000 |
commit | 5af9b3bfb7224cc7e3e2338d69c7df597657519f (patch) | |
tree | 416f3aeb0223c904045be607e869ed7b06958359 | |
parent | ba19d55f71e0e8b8b8f9911ee53a85388b99a072 (diff) |
Add a warning if submitting a change with an open change edit
Bug: Issue 12287
Change-Id: I25aa799a69d0fcce1db55d9d1ed87675a6d3f1fb
(cherry picked from commit a36f08348aaab175cab001d6f50be1db903a6d7b)
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> |