From 298012f0b030331fcfac7fa996ff36c36d437d89 Mon Sep 17 00:00:00 2001 From: suzanadirla Date: Thu, 9 Nov 2017 16:24:34 +0200 Subject: [PATCH] [ADF-1605] [Destination picker] Folder cannot be selected if user has Contributor permissions on it (#2630) fix issue by allowing to select as destination the folder with "create" permission fix display of disabled folder icon --- .../src/assets/images/ft_ic_folder_disable.svg | 6 +++--- .../content-node-selector.component.ts | 4 ++-- .../src/data/share-datatable-adapter.ts | 8 ++++++++ .../src/services/node-actions.service.ts | 2 +- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ng2-components/ng2-alfresco-core/src/assets/images/ft_ic_folder_disable.svg b/ng2-components/ng2-alfresco-core/src/assets/images/ft_ic_folder_disable.svg index 469a08ceaf..b8082cb503 100644 --- a/ng2-components/ng2-alfresco-core/src/assets/images/ft_ic_folder_disable.svg +++ b/ng2-components/ng2-alfresco-core/src/assets/images/ft_ic_folder_disable.svg @@ -1,3 +1,3 @@ - - - + + +Layer 1 \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/content-node-selector/content-node-selector.component.ts b/ng2-components/ng2-alfresco-documentlist/src/components/content-node-selector/content-node-selector.component.ts index 713c2e335f..ce3b76db1f 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/content-node-selector/content-node-selector.component.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/components/content-node-selector/content-node-selector.component.ts @@ -255,12 +255,12 @@ export class ContentNodeSelectorComponent implements OnInit { } /** - * Selects node as choosen if it has the right permission, clears the selection otherwise + * Selects node as chosen if it has the right permission, clears the selection otherwise * * @param entry */ private attemptNodeSelection(entry: MinimalNodeEntryEntity): void { - if (this.contentService.hasPermission(entry, 'update')) { + if (this.contentService.hasPermission(entry, 'create')) { this.chosenNode = entry; } else { this.resetChosenNode(); diff --git a/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts b/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts index f6e11ac433..3496417509 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts @@ -92,6 +92,14 @@ export class ShareDataTableAdapter implements DataTableAdapter { } if (col.key === '$thumbnail') { + + if (this.imageResolver) { + let resolved = this.imageResolver(row, col); + if (resolved) { + return resolved; + } + } + const node = ( row).node; if (node.entry.isFolder) { diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/node-actions.service.ts b/ng2-components/ng2-alfresco-documentlist/src/services/node-actions.service.ts index 29f0fe5544..2bb94424be 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/node-actions.service.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/services/node-actions.service.ts @@ -123,7 +123,7 @@ export class NodeActionsService { private imageResolver(row: ShareDataRow, col: DataColumn): string|null { const entry: MinimalNodeEntryEntity = row.node.entry; - if (!this.contentService.hasPermission(entry, 'update')) { + if (!this.contentService.hasPermission(entry, 'create')) { return this.documentListService.getMimeTypeIcon('disable/folder'); }