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(