RED-5482: finish permissions
This commit is contained in:
parent
8ce945a459
commit
63b4cbcd67
@ -31,6 +31,7 @@ export class AnnotationPermissions {
|
||||
const summedPermissions: AnnotationPermissions = new AnnotationPermissions();
|
||||
const canAddRedaction = permissionsService.has(ROLES.redactions.write);
|
||||
const canRequestRedaction = permissionsService.has(ROLES.redactions.request);
|
||||
const canProcessManualRedaction = permissionsService.has(ROLES.redactions.processManualRequest);
|
||||
const canAddOrRequestRedaction = canAddRedaction || canRequestRedaction;
|
||||
|
||||
for (const annotation of annotations) {
|
||||
@ -38,7 +39,13 @@ export class AnnotationPermissions {
|
||||
|
||||
permissions.canUndo = !isApprover && (annotation.isSuggestion || annotation.pending);
|
||||
permissions.canAcceptSuggestion = isApprover && (annotation.isSuggestion || annotation.isDeclinedSuggestion);
|
||||
if (annotation.isSuggestionAdd || annotation.isSuggestionRemoveDictionary) {
|
||||
permissions.canAcceptSuggestion = permissions.canAcceptSuggestion && canProcessManualRedaction;
|
||||
}
|
||||
permissions.canRejectSuggestion = isApprover && annotation.isSuggestion;
|
||||
if (annotation.isSuggestionAdd || annotation.isSuggestionRemoveDictionary) {
|
||||
permissions.canRejectSuggestion = permissions.canRejectSuggestion && canProcessManualRedaction;
|
||||
}
|
||||
|
||||
permissions.canForceHint = canAddOrRequestRedaction && annotation.isIgnoredHint && !annotation.pending;
|
||||
permissions.canForceRedaction =
|
||||
|
||||
@ -190,6 +190,10 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
|
||||
return !!SuggestionAddSuperTypes[this.superType];
|
||||
}
|
||||
|
||||
get isSuggestionRemoveDictionary() {
|
||||
return this.superType === SuperTypes.SuggestionRemoveDictionary;
|
||||
}
|
||||
|
||||
get isSuggestionLegalBasisChange() {
|
||||
return this.superType === SuperTypes.SuggestionChangeLegalBasis;
|
||||
}
|
||||
|
||||
@ -2,7 +2,6 @@ export const ROLES = {
|
||||
RED_CREATE_TENANT: 'red-create-tenant',
|
||||
RED_DEPLOYMENT_INFO: 'red-deployment-info',
|
||||
RED_GET_TENANTS: 'red-get-tenants',
|
||||
RED_PROCESS_MANUAL_REDACTION_REQUEST: 'red-process-manual-redaction-request',
|
||||
RED_READ_VERSIONS: 'red-read-versions',
|
||||
RED_REINDEX: 'red-reindex',
|
||||
managePreferences: 'red-manage-user-preferences',
|
||||
@ -27,6 +26,7 @@ export const ROLES = {
|
||||
deleteManual: 'red-delete-manual-redaction',
|
||||
deleteImported: 'red-delete-imported-redactions',
|
||||
request: 'red-request-redaction',
|
||||
processManualRequest: 'red-process-manual-redaction-request',
|
||||
},
|
||||
comments: {
|
||||
write: 'red-add-comment',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user