From dde0e1807b9949b8e66f65f27d8ee85695a8bc56 Mon Sep 17 00:00:00 2001 From: Vito Date: Fri, 11 May 2018 10:44:24 +0100 Subject: [PATCH] [ADF-2912] added group everyone as constant result for add permissions (#3266) * [ADF-2556] first step to create add people or group to permissions * [ADF-2556] creating a dialog with user results * [ADF-2556] integrated service for add and remove permission from node * [ADF-2556] fixed behaviour and style for add user group * [ADF-2556] added some refactoring for dialog service * [ADF-2556] refactoring the dependencies of the components * [ADF-2556] added some fix and a new key for dialog * [ADF-2556] start adding test for node permission service * [ADF-2556] added test for add permission panel component * [ADf-2556] adding tests for new add permission component * [ADF-2556] fixed tests and added documentation * [ADF-2556] fixed documentation for add-node components * [ADF-2556] added peer review changes * [ADF-2912] added group everyone as constant result for add permissions * [ADF-2912] readded jsdoc --- .../permissions/demo-permissions.component.ts | 2 +- lib/content-services/i18n/en.json | 3 ++- .../add-permission-panel.component.html | 11 +++++++++++ .../add-permission-panel.component.spec.ts | 19 +++++++++++++++++++ .../add-permission-panel.component.ts | 2 ++ 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/demo-shell/src/app/components/permissions/demo-permissions.component.ts b/demo-shell/src/app/components/permissions/demo-permissions.component.ts index 87576ec947..49455b8c51 100644 --- a/demo-shell/src/app/components/permissions/demo-permissions.component.ts +++ b/demo-shell/src/app/components/permissions/demo-permissions.component.ts @@ -73,7 +73,7 @@ export class DemoPermissionComponent implements OnInit { showErrorMessage(error) { this.notificationService.openSnackMessage( - error, + JSON.parse(error.response.text).error.errorKey, 4000 ); } diff --git a/lib/content-services/i18n/en.json b/lib/content-services/i18n/en.json index fdeb118602..108fdd2d89 100644 --- a/lib/content-services/i18n/en.json +++ b/lib/content-services/i18n/en.json @@ -271,7 +271,8 @@ "NO-RESULT": "No result found for this search", "ADD-ACTION": "ADD", "CLOSE-ACTION": "CLOSE", - "BASE-DIALOG-TITLE": "Search a group or people to add..." + "BASE-DIALOG-TITLE": "Search a group or people to add...", + "EVERYONE" : "EVERYONE" }, "ERROR": { "DUPLICATE-PERMISSION": "One or more of the permission you set is already present : {{list}}" diff --git a/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.html b/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.html index 801c16b3de..71aeb9956c 100644 --- a/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.html +++ b/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.html @@ -46,6 +46,17 @@ item.entry?.properties['cm:authorityName'] : item.entry?.properties['cm:firstName']}}

+ + + group_add + +

+ {{'PERMISSION_MANAGER.ADD-PERMISSION.EVERYONE' | translate}} +

+
{{'PERMISSION_MANAGER.ADD-PERMISSION.NO-RESULT' | translate}} diff --git a/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.spec.ts b/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.spec.ts index d6e869e282..c5a1870d4b 100644 --- a/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.spec.ts +++ b/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.spec.ts @@ -153,4 +153,23 @@ describe('AddPermissionPanelComponent', () => { }); })); + it('should always show as extra result the everyone group', async(() => { + searchApiService = fixture.componentRef.injector.get(SearchService); + spyOn(searchApiService, 'search').and.returnValue(Observable.of(fakeAuthorityListResult)); + component.selectedItems.push(fakeAuthorityListResult.list.entries[0]); + + typeWordIntoSearchInput('a'); + fixture.detectChanges(); + fixture.whenStable().then(() => { + fixture.detectChanges(); + expect(element.querySelector('#adf-add-permission-authority-results')).not.toBeNull(); + expect(element.querySelector('#result_option_0 #add-person-icon')).toBeDefined(); + expect(element.querySelector('#result_option_0 #add-person-icon')).not.toBeNull(); + expect(element.querySelector('#result_option_2 #add-group-icon')).toBeDefined(); + expect(element.querySelector('#result_option_2 #add-group-icon')).not.toBeNull(); + expect(element.querySelector('#adf-add-permission-group-everyone')).toBeDefined(); + expect(element.querySelector('#adf-add-permission-group-everyone')).not.toBeNull(); + }); + })); + }); diff --git a/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts b/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts index 63eddf1137..758e774420 100644 --- a/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts +++ b/lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts @@ -48,6 +48,8 @@ export class AddPermissionPanelComponent { selectedItems: MinimalNodeEntity[] = []; + EVERYONE: MinimalNodeEntity = { entry: { properties: {'cm:authorityName': 'GROUP_EVERYONE'}}}; + constructor() { this.searchInput.valueChanges .pipe(