summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaladox none <thomasmulhall410@yahoo.com>2022-02-21 09:31:04 +0000
committerPaladox none <thomasmulhall410@yahoo.com>2022-02-22 14:29:23 +0000
commitba746bb4148e0f0d0c8dc2d1fb5e6496f9c009c9 (patch)
tree9b13368eb1b83b6e155e6f47d3f65bb765645c98
parent848e55f768f42975b6f8a6f78f74fa712ecfce07 (diff)
Show gr-change-actions regardless if logged in or not
This is being done because change [0] brought includedIn to change-actions. It was being hidden for logged out users even though previously it was shown for logged out users. It correctly hides the actions that the current user cannot do even if logged out. Thus we can show it regardless. [0] I6cfde70242d6a2bf45d1b3c3dd25ed1ca05af1be Release-Notes: Show gr-change-actions regardless if logged in or not Change-Id: I33470ca664f87b88347b16dcb2407d6f389d25de (cherry picked from commit 7e2f9f36904f1cf3a3a0932aab509977551606d5)
-rw-r--r--polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts12
-rw-r--r--polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts25
-rw-r--r--polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_html.ts4
3 files changed, 39 insertions, 2 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts
index b10c17e733..5f91dfb2f0 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts
@@ -563,6 +563,9 @@ export class GrChangeActions
@property({type: Object})
_config?: ServerInfo;
+ @property({type: Boolean})
+ loggedIn = false;
+
private readonly restApiService = appContext.restApiService;
constructor() {
@@ -840,6 +843,7 @@ export class GrChangeActions
'editPatchsetLoaded',
'editBasedOnCurrentPatchSet',
'disableEdit',
+ 'loggedIn',
'actions.*',
'change.*'
)
@@ -848,13 +852,19 @@ export class GrChangeActions
editPatchsetLoaded: boolean,
editBasedOnCurrentPatchSet: boolean,
disableEdit: boolean,
+ loggedIn: boolean,
actionsChangeRecord?: PolymerDeepPropertyChange<
ActionNameToActionInfoMap,
ActionNameToActionInfoMap
>,
changeChangeRecord?: PolymerDeepPropertyChange<ChangeInfo, ChangeInfo>
) {
- if (actionsChangeRecord === undefined || changeChangeRecord === undefined) {
+ // Hide change edits if not logged in
+ if (
+ actionsChangeRecord === undefined ||
+ changeChangeRecord === undefined ||
+ !loggedIn
+ ) {
return;
}
if (disableEdit) {
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts
index 26e2fb4b5f..f9413ce02f 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts
@@ -631,6 +631,7 @@ suite('gr-change-actions tests', () => {
});
test('shows confirm dialog for delete edit', async () => {
+ element.set('loggedIn', true);
element.set('editMode', true);
element.set('editPatchsetLoaded', true);
@@ -649,6 +650,7 @@ suite('gr-change-actions tests', () => {
});
test('edit patchset is loaded, needs rebase', async () => {
+ element.set('loggedIn', true);
element.set('editMode', true);
element.set('editPatchsetLoaded', true);
element.change = {
@@ -668,6 +670,7 @@ suite('gr-change-actions tests', () => {
});
test('edit patchset is loaded, does not need rebase', async () => {
+ element.set('loggedIn', true);
element.set('editMode', true);
element.set('editPatchsetLoaded', true);
element.change = {
@@ -687,6 +690,7 @@ suite('gr-change-actions tests', () => {
});
test('edit mode is loaded, no edit patchset', async () => {
+ element.set('loggedIn', true);
element.set('editMode', true);
element.set('editPatchsetLoaded', false);
element.change = {
@@ -709,6 +713,7 @@ suite('gr-change-actions tests', () => {
});
test('normal patch set', async () => {
+ element.set('loggedIn', true);
element.set('editMode', false);
element.set('editPatchsetLoaded', false);
element.change = {
@@ -731,6 +736,7 @@ suite('gr-change-actions tests', () => {
});
test('edit action', async () => {
+ element.set('loggedIn', true);
const editTapped = mockPromise();
element.addEventListener('edit-tap', () => {
editTapped.resolve();
@@ -767,6 +773,25 @@ suite('gr-change-actions tests', () => {
});
});
+ test('edit action not shown for logged out user', async () => {
+ element.set('loggedIn', false);
+ element.set('editMode', false);
+ element.set('editPatchsetLoaded', false);
+ element.change = {
+ ...createChangeViewChange(),
+ status: ChangeStatus.NEW,
+ };
+ await flush();
+
+ assert.isNotOk(
+ query(element, 'gr-button[data-action-key="publishEdit"]')
+ );
+ assert.isNotOk(query(element, 'gr-button[data-action-key="rebaseEdit"]'));
+ assert.isNotOk(query(element, 'gr-button[data-action-key="deleteEdit"]'));
+ assert.isNotOk(query(element, 'gr-button[data-action-key="edit"]'));
+ assert.isNotOk(query(element, 'gr-button[data-action-key="stopEdit"]'));
+ });
+
suite('cherry-pick', () => {
let fireActionStub: sinon.SinonStub;
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_html.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_html.ts
index 0b77bc73fb..645b835bde 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_html.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_html.ts
@@ -356,7 +356,8 @@ export const htmlTemplate = html`
</gr-copy-clipboard>
</div>
<!-- end headerTitle -->
- <div class="commitActions" hidden$="[[!_loggedIn]]">
+ <!-- always show gr-change-actions regardless if logged in or not -->
+ <div class="commitActions">
<gr-change-actions
id="actions"
change="[[_change]]"
@@ -374,6 +375,7 @@ export const htmlTemplate = html`
edit-mode="[[_editMode]]"
edit-based-on-current-patch-set="[[_hasEditBasedOnCurrentPatchSet(_allPatchSets)]]"
private-by-default="[[_projectConfig.private_by_default]]"
+ logged-in="[[_loggedIn]]"
on-edit-tap="_handleEditTap"
on-stop-edit-tap="_handleStopEditTap"
on-download-tap="_handleOpenDownloadDialog"