From fd9d1e06d5842750342ec5457dc0a1a805aa9108 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Wed, 26 Jul 2023 15:27:08 +0300 Subject: [PATCH] RED-6774 - added change legal basis, recategorize, resize and force actions for reviewer --- .../app/models/file/annotation.permissions.ts | 11 +++--- .../services/manual-redaction.service.ts | 36 +++---------------- 2 files changed, 9 insertions(+), 38 deletions(-) diff --git a/apps/red-ui/src/app/models/file/annotation.permissions.ts b/apps/red-ui/src/app/models/file/annotation.permissions.ts index 6a48a50dc..fdfe2b954 100644 --- a/apps/red-ui/src/app/models/file/annotation.permissions.ts +++ b/apps/red-ui/src/app/models/file/annotation.permissions.ts @@ -42,23 +42,22 @@ export class AnnotationPermissions { const summedPermissions: AnnotationPermissions = new AnnotationPermissions(); const canAddRedaction = permissionsService.has(Roles.redactions.write); - const canDoAnyApproverAction = canAddRedaction && isApprover; for (const annotation of annotations) { const permissions: AnnotationPermissions = new AnnotationPermissions(); const annotationEntity = entities.find(entity => entity.type === annotation.type); permissions.canUndo = canUndo(annotation, isApprover); - permissions.canForceHint = canForceHint(annotation, canDoAnyApproverAction); - permissions.canForceRedaction = canForceRedaction(annotation, canDoAnyApproverAction); + permissions.canForceHint = canForceHint(annotation, canAddRedaction); + permissions.canForceRedaction = canForceRedaction(annotation, canAddRedaction); permissions.canAcceptRecommendation = canAcceptRecommendation(annotation); permissions.canMarkAsFalsePositive = canMarkAsFalsePositive(annotation, annotationEntity); permissions.canRemoveOnlyHere = canRemoveOnlyHere(annotation, canAddRedaction); permissions.canRemoveFromDictionary = canRemoveFromDictionary(annotation); permissions.canRemoveRedaction = canRemoveRedaction(annotations, permissions); - permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canDoAnyApproverAction); - permissions.canRecategorizeImage = canRecategorizeImage(annotation, canDoAnyApproverAction); - permissions.canResizeAnnotation = canResizeAnnotation(annotation, canDoAnyApproverAction); + permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction); + permissions.canRecategorizeImage = canRecategorizeImage(annotation, canAddRedaction); + permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction); summedPermissions._merge(permissions); } diff --git a/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts b/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts index 09da1da9e..36e3197d0 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts @@ -79,19 +79,11 @@ export class ManualRedactionService extends GenericService { } changeLegalBasis(body: List, dossierId: string, fileId: string) { - if (this._permissionsService.isApprover(this.#dossier(dossierId))) { - return this.legalBasisChange(body, dossierId, fileId).pipe(this.#showToast('change-legal-basis')); - } - - return this.requestLegalBasisChange(body, dossierId, fileId).pipe(this.#showToast('request-change-legal-basis')); + return this.legalBasisChange(body, dossierId, fileId).pipe(this.#showToast('change-legal-basis')); } recategorizeImage(body: List, dossierId: string, fileId: string) { - if (this._permissionsService.isApprover(this.#dossier(dossierId))) { - return this.recategorize(body, dossierId, fileId).pipe(this.#showToast('recategorize-image')); - } - - return this.requestRecategorize(body, dossierId, fileId).pipe(this.#showToast('request-image-recategorization')); + return this.recategorize(body, dossierId, fileId).pipe(this.#showToast('recategorize-image')); } addAnnotation( @@ -112,15 +104,7 @@ export class ManualRedactionService extends GenericService { } bulkForce(requests: List, dossierId: string, fileId: string, isIgnoredHint = false) { - if (this._permissionsService.isApprover(this.#dossier(dossierId))) { - return this.forceRedaction(requests, dossierId, fileId).pipe( - this.#showToast(!isIgnoredHint ? 'force-redaction' : 'force-hint'), - ); - } - - return this.forceRequest(requests, dossierId, fileId).pipe( - this.#showToast(!isIgnoredHint ? 'request-force-redaction' : 'request-force-hint'), - ); + return this.forceRedaction(requests, dossierId, fileId).pipe(this.#showToast(!isIgnoredHint ? 'force-redaction' : 'force-hint')); } undoRequest(annotationIds: List, dossierId: string, fileId: string, modifyDictionary = false) { @@ -136,11 +120,7 @@ export class ManualRedactionService extends GenericService { } resizeOrSuggestResize(requests: List, dossierId: string, fileId: string) { - if (this._permissionsService.isApprover(this.#dossier(dossierId))) { - return this.resize(requests, dossierId, fileId); - } - - return this.requestResize(requests, dossierId, fileId); + return this.resize(requests, dossierId, fileId); } removeRedaction(body: List, dossierId: string, fileId: string, removeFromDictionary = false, isHint = false) { @@ -210,18 +190,10 @@ export class ManualRedactionService extends GenericService { return this._post(body, `${this.#bulkRedaction}/force/${dossierId}/${fileId}`).pipe(this.#log('Force redaction', body)); } - forceRequest(body: List, dossierId: string, fileId: string) { - return this._post(body, `${this.#bulkRequest}/force/${dossierId}/${fileId}`).pipe(this.#log('Request force redaction', body)); - } - resize(body: List, dossierId: string, fileId: string) { return this._post(body, `${this.#bulkRedaction}/resize/${dossierId}/${fileId}`).pipe(this.#log('Resize', body)); } - requestResize(body: List, dossierId: string, fileId: string) { - return this._post(body, `${this.#bulkRequest}/resize/${dossierId}/${fileId}`).pipe(this.#log('Request resize', body)); - } - #log(action: string, body: unknown) { return tap(response => { this._logger.info(`[MANUAL-REDACTIONS] ${action} `, body, response);