PolyGerrit: Remove support for drafts
Note that this removes drafts for patches, comments as drafts are still
supported.
Bug: Issue 7210
Change-Id: Idf2069bd38a62996d58ff515b7e27444bbe3b708
diff --git a/polygerrit-ui/app/behaviors/rest-client-behavior/rest-client-behavior.html b/polygerrit-ui/app/behaviors/rest-client-behavior/rest-client-behavior.html
index 928de04..a6106e4 100644
--- a/polygerrit-ui/app/behaviors/rest-client-behavior/rest-client-behavior.html
+++ b/polygerrit-ui/app/behaviors/rest-client-behavior/rest-client-behavior.html
@@ -34,7 +34,6 @@
ChangeStatus: {
ABANDONED: 'ABANDONED',
- DRAFT: 'DRAFT',
MERGED: 'MERGED',
NEW: 'NEW',
},
@@ -117,8 +116,7 @@
},
changeIsOpen(status) {
- return status === this.ChangeStatus.NEW ||
- status === this.ChangeStatus.DRAFT;
+ return status === this.ChangeStatus.NEW;
},
changeStatusString(change) {
@@ -133,7 +131,6 @@
}
if (change.work_in_progress) { states.push('WIP'); }
if (change.is_private) { states.push('Private'); }
- if (change.status === this.ChangeStatus.DRAFT) { states.push('Draft'); }
return states.join(', ');
},
},
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html
index 704606c..093e302 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html
@@ -214,11 +214,6 @@
},
{
_number: 3,
- status: 'DRAFT',
- owner: {_account_id: 42},
- },
- {
- _number: 4,
status: 'ABANDONED',
owner: {_account_id: 0},
},
@@ -226,7 +221,7 @@
flushAsynchronousOperations();
let elementItems = Polymer.dom(element.root).querySelectorAll(
'gr-change-list-item');
- assert.equal(elementItems.length, 5);
+ assert.equal(elementItems.length, 4);
for (let i = 0; i < elementItems.length; i++) {
assert.isFalse(elementItems[i].hasAttribute('needs-review'));
}
@@ -234,22 +229,20 @@
element.showReviewedState = true;
elementItems = Polymer.dom(element.root).querySelectorAll(
'gr-change-list-item');
- assert.equal(elementItems.length, 5);
- assert.isFalse(elementItems[0].hasAttribute('needs-review'));
- assert.isTrue(elementItems[1].hasAttribute('needs-review'));
- assert.isFalse(elementItems[2].hasAttribute('needs-review'));
- assert.isTrue(elementItems[3].hasAttribute('needs-review'));
- assert.isFalse(elementItems[4].hasAttribute('needs-review'));
-
- element.account = {_account_id: 42};
- elementItems = Polymer.dom(element.root).querySelectorAll(
- 'gr-change-list-item');
- assert.equal(elementItems.length, 5);
+ assert.equal(elementItems.length, 4);
assert.isFalse(elementItems[0].hasAttribute('needs-review'));
assert.isTrue(elementItems[1].hasAttribute('needs-review'));
assert.isFalse(elementItems[2].hasAttribute('needs-review'));
assert.isFalse(elementItems[3].hasAttribute('needs-review'));
- assert.isFalse(elementItems[4].hasAttribute('needs-review'));
+
+ element.account = {_account_id: 42};
+ elementItems = Polymer.dom(element.root).querySelectorAll(
+ 'gr-change-list-item');
+ assert.equal(elementItems.length, 4);
+ assert.isFalse(elementItems[0].hasAttribute('needs-review'));
+ assert.isTrue(elementItems[1].hasAttribute('needs-review'));
+ assert.isFalse(elementItems[2].hasAttribute('needs-review'));
+ assert.isFalse(elementItems[3].hasAttribute('needs-review'));
});
test('no changes', () => {
@@ -464,11 +457,6 @@
},
{
_number: 1,
- status: 'DRAFT',
- owner: {_account_id: 42},
- },
- {
- _number: 2,
status: 'ABANDONED',
owner: {_account_id: 0},
},
@@ -476,7 +464,7 @@
element.account = {_account_id: 42};
flushAsynchronousOperations();
const items = element._getListItems();
- assert.equal(items.length, 3);
+ assert.equal(items.length, 2);
for (let i = 0; i < items.length; i++) {
assert.equal(items[i].hasAttribute('assigned'),
items[i]._account_id === element.account._account_id);
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js
index 5657cbe..f69e393 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js
@@ -69,8 +69,6 @@
// TODO(andybons): Add the rest of the revision actions.
const RevisionActions = {
CHERRYPICK: 'cherrypick',
- DELETE: '/',
- PUBLISH: 'publish',
REBASE: 'rebase',
SUBMIT: 'submit',
DOWNLOAD: 'download',
@@ -81,7 +79,6 @@
cherrypick: 'Cherry-Picking...',
delete: 'Deleting...',
move: 'Moving..',
- publish: 'Publishing...',
rebase: 'Rebasing...',
restore: 'Restoring...',
revert: 'Reverting...',
@@ -186,7 +183,6 @@
type: Array,
value() {
return [
- RevisionActions.PUBLISH,
RevisionActions.SUBMIT,
];
},
@@ -251,10 +247,6 @@
},
{
type: ActionType.REVISION,
- key: RevisionActions.DELETE,
- },
- {
- type: ActionType.REVISION,
key: RevisionActions.CHERRYPICK,
},
{
@@ -623,8 +615,6 @@
// more explicit to the user.
if (type === ActionType.CHANGE) {
actions[a].label += ' Change';
- } else if (type === ActionType.REVISION) {
- actions[a].label += ' Revision';
}
}
// Triggers a re-render by ensuring object inequality.
@@ -747,9 +737,6 @@
case RevisionActions.REBASE:
this._showActionDialog(this.$.confirmRebase);
break;
- case RevisionActions.DELETE:
- this._handleDeleteConfirm();
- break;
case RevisionActions.CHERRYPICK:
this._handleCherrypickTap();
break;
@@ -953,11 +940,8 @@
});
break;
case ChangeActions.DELETE:
- case RevisionActions.DELETE:
if (action.__type === ActionType.CHANGE) {
page.show('/');
- } else {
- page.show(this.changePath(this.changeNum));
}
break;
case ChangeActions.WIP:
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html
index 2c252eb..e099170 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html
@@ -42,25 +42,19 @@
stub('gr-rest-api-interface', {
getChangeRevisionActions() {
return Promise.resolve({
- '/': {
- method: 'DELETE',
- label: 'Delete',
- title: 'Delete draft revision 2',
- enabled: true,
- },
- 'cherrypick': {
+ cherrypick: {
method: 'POST',
label: 'Cherry Pick',
title: 'Cherry pick change to a different branch',
enabled: true,
},
- 'rebase': {
+ rebase: {
method: 'POST',
label: 'Rebase',
title: 'Rebase onto tip of branch or parent change',
enabled: true,
},
- 'submit': {
+ submit: {
method: 'POST',
label: 'Submit',
title: 'Submit patch set 2 into master',
@@ -94,8 +88,8 @@
element.actions = {
'/': {
method: 'DELETE',
- label: 'Delete',
- title: 'Delete draft change 42',
+ label: 'Delete Change',
+ title: 'Delete change X_X',
enabled: true,
},
};
@@ -141,42 +135,13 @@
});
});
- test('hide menu action', done => {
- flush(() => {
- const buttonEl =
- element.$.moreActions.$$('span[data-id="delete-revision"]');
- assert.isOk(buttonEl);
- assert.throws(element.setActionHidden.bind(element, 'invalid type'));
- element.setActionHidden(element.ActionType.CHANGE,
- element.ChangeActions.DELETE, true);
- assert.lengthOf(element._hiddenActions, 1);
- element.setActionHidden(element.ActionType.CHANGE,
- element.ChangeActions.DELETE, true);
- assert.lengthOf(element._hiddenActions, 1);
- flush(() => {
- const buttonEl =
- element.$.moreActions.$$('span[data-id="delete-revision"]');
- assert.isNotOk(buttonEl);
-
- element.setActionHidden(element.ActionType.CHANGE,
- element.RevisionActions.DELETE, false);
- flush(() => {
- const buttonEl =
- element.$.moreActions.$$('span[data-id="delete-revision"]');
- assert.isOk(buttonEl);
- done();
- });
- });
- });
- });
-
test('buttons exist', done => {
element._loading = false;
flush(() => {
const buttonEls = Polymer.dom(element.root)
.querySelectorAll('gr-button');
const menuItems = element.$.moreActions.items;
- assert.equal(buttonEls.length + menuItems.length, 7);
+ assert.equal(buttonEls.length + menuItems.length, 6);
assert.isFalse(element.hidden);
done();
});
@@ -187,16 +152,11 @@
const deleteItems = element.$.moreActions.items.filter(item => {
return item.id.startsWith('delete');
});
- assert.equal(deleteItems.length, 2);
- assert.notEqual(deleteItems[0].name, deleteItems[1].name);
+ assert.equal(deleteItems.length, 1);
+ assert.notEqual(deleteItems[0].name);
assert.isTrue(
- deleteItems[0].name === 'Delete Revision' ||
deleteItems[0].name === 'Delete Change'
);
- assert.isTrue(
- deleteItems[1].name === 'Delete Revision' ||
- deleteItems[1].name === 'Delete Change'
- );
done();
});
});
@@ -1181,7 +1141,7 @@
flushAsynchronousOperations();
assert.isNotOk(element.$$('[data-action-key="submit"]'));
assert.strictEqual(
- element.$.moreActions.items[4].id, 'submit-revision');
+ element.$.moreActions.items[3].id, 'submit-revision');
});
suite('_waitForChangeReachable', () => {
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
index 634e21c..28e38d1 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
@@ -52,7 +52,6 @@
test('computed fields', () => {
assert.isFalse(element._computeHideStrategy({status: 'NEW'}));
- assert.isFalse(element._computeHideStrategy({status: 'DRAFT'}));
assert.isTrue(element._computeHideStrategy({status: 'MERGED'}));
assert.isTrue(element._computeHideStrategy({status: 'ABANDONED'}));
assert.equal(element._computeStrategy({submit_type: 'CHERRY_PICK'}),
diff --git a/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list.js b/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list.js
index 39c736d..780dca2 100644
--- a/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list.js
+++ b/polygerrit-ui/app/elements/change/gr-related-changes-list/gr-related-changes-list.js
@@ -212,8 +212,6 @@
return 'Merged';
case this.ChangeStatus.ABANDONED:
return 'Abandoned';
- case this.ChangeStatus.DRAFT:
- return 'Draft';
}
if (change._revision_number != change._current_revision_number) {
return 'Not current';
diff --git a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html
index 3f45bbf..5da8382 100644
--- a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html
+++ b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html
@@ -54,11 +54,9 @@
test('fix my menu item', () => {
assert.deepEqual([
- {url: '#/q/owner:self+is:draft'},
{url: 'https://awesometown.com/#hashyhash'},
{url: 'url', target: '_blank'},
].map(element._fixMyMenuItem), [
- {url: '/q/owner:self+is:draft', external: true},
{url: 'https://awesometown.com/#hashyhash', external: true},
{url: 'url', external: true},
]);
@@ -66,12 +64,10 @@
test('filter unsupported urls', () => {
assert.deepEqual([
- {url: '/q/owner:self+is:draft'},
{url: '/c/331788/'},
{url: '/groups/self'},
{url: 'https://awesometown.com/#hashyhash'},
].filter(element._isSupportedLink), [
- {url: '/q/owner:self+is:draft'},
{url: '/c/331788/'},
{url: 'https://awesometown.com/#hashyhash'},
]);
diff --git a/polygerrit-ui/app/elements/core/gr-search-bar/gr-search-bar.js b/polygerrit-ui/app/elements/core/gr-search-bar/gr-search-bar.js
index 41241a4..3605e1d 100644
--- a/polygerrit-ui/app/elements/core/gr-search-bar/gr-search-bar.js
+++ b/polygerrit-ui/app/elements/core/gr-search-bar/gr-search-bar.js
@@ -45,7 +45,6 @@
'is:',
'is:abandoned',
'is:closed',
- 'is:draft',
'is:ignored',
'is:mergeable',
'is:merged',
@@ -75,7 +74,6 @@
'status:',
'status:abandoned',
'status:closed',
- 'status:draft',
'status:merged',
'status:open',
'status:pending',