RED-6370 - Dossier Editor permissions not fully configured in ui

This commit is contained in:
Valentin Mihai 2023-03-22 21:12:16 +02:00
parent 5b87e1b5fb
commit 41470c7285
9 changed files with 18 additions and 15 deletions

View File

@ -17,6 +17,7 @@
[id]="attr.id"
[label]="attr.label"
[type]="attr.type"
[canEditInput]="!disabled"
></iqser-dynamic-input>
</div>

View File

@ -1,16 +1,18 @@
<form *ngIf="form && componentContext$ | async as ctx" [formGroup]="form">
<div>
<redaction-select
[label]="'report-type.label' | translate: { length: reportTypesLength }"
[label]="'report-type.label' | translate : { length: reportTypesLength }"
[optionTemplate]="reportTemplateOptionTemplate"
[options]="availableReportTypes"
[valueMapper]="reportTemplateValueMapper"
[disabled]="!canEditDossier"
class="mr-16"
formControlName="reportTemplateIds"
></redaction-select>
<redaction-select
[label]="'download-type.label' | translate: { length: downloadFileTypesLength }"
[label]="'download-type.label' | translate : { length: downloadFileTypesLength }"
[options]="downloadTypes"
[disabled]="!canEditDossier"
formControlName="downloadFileTypes"
></redaction-select>
</div>

View File

@ -164,13 +164,14 @@ export class EditDossierDialogComponent extends BaseDialogComponent implements A
key: 'dossierInfo',
title: _('edit-dossier-dialog.nav-items.general-info'),
sideNavTitle: _('edit-dossier-dialog.nav-items.dossier-info'),
readonly: !this._dossier.isActive,
readonly: !this._dossier.isActive || !this._permissionsService.canEditDossier(this._dossier),
helpModeKey: 'edit_dossier_dossier_info',
},
{
key: 'downloadPackage',
title: _('edit-dossier-dialog.nav-items.choose-download'),
sideNavTitle: _('edit-dossier-dialog.nav-items.download-package'),
readonly: !this._permissionsService.canEditDossier(this._dossier),
helpModeKey: 'edit_dossier_download_package',
},
{

View File

@ -41,7 +41,7 @@
<div class="info mt-4" id="no-reviewers-label">{{ 'assign-dossier-owner.dialog.no-reviewers' | translate }}</div>
</ng-container>
<ng-container *ngIf="hasOwner">
<ng-container *ngIf="hasOwner && !disabled">
<iqser-input-with-action
(valueChange)="setMembersSelectOptions($event)"
[(value)]="searchQuery"

View File

@ -80,7 +80,7 @@
<div class="dialog-actions">
<iqser-icon-button
(action)="deleteDossier()"
*ngIf="permissionsService.canSoftDeleteDossier(dossier)"
*ngIf="permissionsService.canDeleteDossier(dossier)"
[buttonId]="'deleteDossier'"
[dialogElement]="true"
[icon]="'iqser:trash'"

View File

@ -35,3 +35,9 @@
mat-icon {
width: 14px;
}
.disabled {
color: var(--iqser-grey-3);
cursor: default;
pointer-events: none;
}

View File

@ -70,7 +70,7 @@ export class TrashService extends EntitiesService<TrashItem, TrashItem> {
dossier,
this._systemPreferencesService.values.softDeleteCleanupTime,
this._permissionsService.canRestoreDossier(dossier),
this._permissionsService.canHardDeleteDossier(dossier),
this._permissionsService.canDeleteDossier(dossier),
this._userService.getName(dossier.ownerId),
),
),

View File

@ -266,14 +266,7 @@ export class PermissionsService {
return this.isApprover(dossier) && files.reduce((prev, file) => prev && !file.isInitialProcessing, true);
}
canSoftDeleteDossier(dossier: IDossier): boolean {
return (
this._iqserPermissionsService.has(ROLES.dossiers.delete) &&
(this.isOwner(dossier) || (this.isManager() && this.isDossierMember(dossier)))
);
}
canHardDeleteDossier(dossier: IDossier): boolean {
canDeleteDossier(dossier: IDossier): boolean {
return this._iqserPermissionsService.has(ROLES.dossiers.delete) && this.isOwner(dossier);
}

@ -1 +1 @@
Subproject commit 9eecf327c264ae65dc80dc474d5e02526d63597e
Subproject commit 4c9db877cd810f3c9191dd28961f4637bf153f92