diff --git a/ui/src/app/auth/auth-roles.ts b/ui/src/app/auth/auth-roles.ts index b8f5e1aca..83bdd355a 100644 --- a/ui/src/app/auth/auth-roles.ts +++ b/ui/src/app/auth/auth-roles.ts @@ -11,7 +11,8 @@ export enum ButtonAction { CollectionCreate, CollectionPublish, CollectionSkillsUpdate, - LibraryExport + LibraryExport, + ExportDraftCollection } export const ActionByRoles = new Map([ @@ -22,7 +23,8 @@ export const ActionByRoles = new Map([ [ButtonAction.CollectionCreate, [OSMT_ADMIN, OSMT_CURATOR]], [ButtonAction.CollectionPublish, [OSMT_ADMIN]], [ButtonAction.CollectionSkillsUpdate, [OSMT_ADMIN]], - [ButtonAction.LibraryExport, [OSMT_ADMIN]] + [ButtonAction.LibraryExport, [OSMT_ADMIN]], + [ButtonAction.ExportDraftCollection, [OSMT_ADMIN]] ]) //TODO migrate AuthServiceWgu & AuthService.hasRole & isEnabledByRoles into a singleton here. HDN Sept 15, 2022 diff --git a/ui/src/app/collection/detail/manage-collection.component.ts b/ui/src/app/collection/detail/manage-collection.component.ts index 552cbe93c..d5466e958 100644 --- a/ui/src/app/collection/detail/manage-collection.component.ts +++ b/ui/src/app/collection/detail/manage-collection.component.ts @@ -226,7 +226,10 @@ export class ManageCollectionComponent extends SkillsListComponent implements On ) } - if ((this.collection?.status === PublishStatus.Draft || this.collection?.status === PublishStatus.Published) && this.authService.isEnabledByRoles(ButtonAction.LibraryExport)) { + const isPublished = this.collection?.status === PublishStatus.Published + const isDraftAndUserIsAdmin = this.collection?.status === PublishStatus.Draft + && this.authService.isEnabledByRoles(ButtonAction.ExportDraftCollection) + if (isPublished || isDraftAndUserIsAdmin) { actions.push(new TableActionDefinition({ label: "Download CSV", icon: this.downloadIcon,