Fixed isActive check

This commit is contained in:
Adina Țeudan 2022-02-23 17:02:35 +02:00
parent 280c7903e9
commit 670e19f98e
4 changed files with 12 additions and 7 deletions

View File

@ -158,13 +158,13 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
}
#getForm(): FormGroup {
const formFieldWithArchivedCheck = value => ({ value, disabled: !!this.dossier.archivedTime });
const formFieldWithArchivedCheck = value => ({ value, disabled: !this.dossier.isActive });
return this._formBuilder.group({
dossierName: [formFieldWithArchivedCheck(this.dossier.dossierName), Validators.required],
dossierTemplateId: [
{
value: this.dossier.dossierTemplateId,
disabled: this._dossierStatsService.get(this.dossier.dossierId).hasFiles || !!this.dossier.archivedTime,
disabled: this._dossierStatsService.get(this.dossier.dossierId).hasFiles || !this.dossier.isActive,
},
Validators.required,
],

View File

@ -23,11 +23,11 @@ export class PermissionsService {
}
displayReanalyseBtn(dossier: Dossier): boolean {
return !dossier.archivedTime && this.isApprover(dossier);
return dossier.isActive && this.isApprover(dossier);
}
canUploadFiles(dossier: Dossier): boolean {
return !dossier.archivedTime;
return dossier.isActive;
}
canEditFileAttributes(file: File): boolean {
@ -145,8 +145,8 @@ export class PermissionsService {
return dossier.ownerId === this._userService.currentUser.id;
}
canArchiveDossier(dossier: IDossier): boolean {
return !dossier.archivedTime && dossier.ownerId === this._userService.currentUser.id;
canArchiveDossier(dossier: Dossier): boolean {
return dossier.isActive && dossier.ownerId === this._userService.currentUser.id;
}
canEditDossier(dossier: Dossier, user = this._userService.currentUser): boolean {

View File

@ -1,6 +1,6 @@
import { IListable, List } from '@iqser/common-ui';
import { IDossier } from './dossier';
import { DossierStatus } from './types';
import { DossierStatus, DossierStatuses } from './types';
import { DownloadFileType } from '../shared';
export class Dossier implements IDossier, IListable {
@ -60,6 +60,10 @@ export class Dossier implements IDossier, IListable {
return this.dossierName;
}
get isActive(): boolean {
return this.status === DossierStatuses.ACTIVE;
}
hasMember(memberId: string): boolean {
return !!this.memberIds && this.memberIds.indexOf(memberId) >= 0;
}

View File

@ -1,6 +1,7 @@
export const DossierStatuses = {
ACTIVE: 'ACTIVE',
DELETED: 'DELETED',
ARCHIVED: 'ARCHIVED',
} as const;
export type DossierStatus = keyof typeof DossierStatuses;