+
+
+
+
+
-
-
- {{ 'edit-dossier-dialog.general-info.form.template' | translate }}
-
-
+
+ {{ 'edit-dossier-dialog.general-info.form.template' | translate }}
+
+
+ {{ dossierTemplate.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'edit-dossier-dialog.general-info.form.watermark' | translate }}
+
+
+
+
+
+ {{ 'edit-dossier-dialog.general-info.form.watermark-preview' | translate }}
+
+
+
+
+
+
+
+ {{ 'edit-dossier-dialog.general-info.form.due-date' | translate }}
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
- {{ 'edit-dossier-dialog.general-info.form.watermark' | translate }}
-
-
-
-
-
- {{ 'edit-dossier-dialog.general-info.form.watermark-preview' | translate }}
-
-
-
-
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.scss b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.scss
index 695782375..ad0894822 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.scss
@@ -23,3 +23,7 @@
border-top: none;
padding: 0;
}
+
+.fields-container {
+ flex-direction: column;
+}
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts
index 8b9d48bf1..54ef6987e 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts
@@ -14,6 +14,8 @@ import { DossiersService } from '@services/entity-services/dossiers.service';
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
import { DossierStatsService } from '@services/entity-services/dossier-stats.service';
import { firstValueFrom } from 'rxjs';
+import { DossierStateService } from '@services/entity-services/dossier-state.service';
+import { DossierState } from '../../../../../../../../../libs/red-domain/src/lib/dossier-state';
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
@Component({
@@ -29,9 +31,11 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
form: FormGroup;
hasDueDate: boolean;
dossierTemplates: IDossierTemplate[];
+ states: DossierState[];
constructor(
readonly permissionsService: PermissionsService,
+ readonly stateService: DossierStateService,
private readonly _dossierTemplatesService: DossierTemplatesService,
private readonly _dossiersService: DossiersService,
private readonly _dossierStatsService: DossierStatsService,
@@ -67,12 +71,13 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
return this.hasDueDate && this.form.get('dueDate').value === null;
}
- ngOnInit() {
+ async ngOnInit() {
this._filterInvalidDossierTemplates();
this.form = this._getForm();
if (!this.permissionsService.canEditDossier(this.dossier)) {
this.form.disable();
}
+ this.states = await firstValueFrom(this.stateService.loadAllForTemplate(this.dossier.dossierTemplateId));
this.hasDueDate = !!this.dossier.dueDate;
}
@@ -96,6 +101,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
watermarkPreviewEnabled: this.form.get('watermarkPreviewEnabled').value,
dueDate: this.hasDueDate ? this.form.get('dueDate').value : undefined,
dossierTemplateId: this.form.get(DOSSIER_TEMPLATE_ID).value,
+ dossierStatusId: this.form.get('dossierStatusId').value,
} as IDossierRequest;
try {
await firstValueFrom(this._dossiersService.createOrUpdate(dossier));
@@ -136,6 +142,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
},
Validators.required,
],
+ dossierStatusId: [this.dossier.dossierStatusId],
description: [this.dossier.description],
dueDate: [this.dossier.dueDate],
watermarkEnabled: [this.dossier.watermarkEnabled],
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.html
new file mode 100644
index 000000000..3025a99af
--- /dev/null
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.html
@@ -0,0 +1 @@
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.scss b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.ts
new file mode 100644
index 000000000..00fc9084f
--- /dev/null
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossier-documents-status/dossier-documents-status.component.ts
@@ -0,0 +1,24 @@
+import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
+import { DossierStats, StatusSorter } from '../../../../../../../../../../libs/red-domain/src';
+import { List, StatusBarConfig } from '../../../../../../../../../../libs/common-ui/src';
+
+@Component({
+ selector: 'redaction-dossier-documents-status',
+ templateUrl: './dossier-documents-status.component.html',
+ styleUrls: ['./dossier-documents-status.component.scss'],
+ changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class DossierDocumentsStatusComponent implements OnChanges {
+ @Input() stats: DossierStats;
+ statusBarConfig: List
>;
+
+ private get _statusConfig(): List> {
+ const { fileCountPerWorkflowStatus } = this.stats;
+ const statuses = Object.keys(fileCountPerWorkflowStatus).sort(StatusSorter.byStatus);
+ return statuses.map(status => ({ length: fileCountPerWorkflowStatus[status], color: status }));
+ }
+
+ ngOnChanges(): void {
+ this.statusBarConfig = this._statusConfig;
+ }
+}
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html
index 2b521e11f..63bcdbe86 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html
@@ -1,6 +1,10 @@
-
-
-