Skip to content

Commit 1c7874e

Browse files
committed
fix(backend): fix update of status
1 parent 72f9849 commit 1c7874e

File tree

7 files changed

+23
-17
lines changed

7 files changed

+23
-17
lines changed

packages/backend/src/database/services/usager/constants/USAGER_LIGHT_ATTRIBUTES.const.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const USAGER_LIGHT_ATTRIBUTES: (keyof Usager)[] = [
1313
// "email",
1414
"decision",
1515
// "datePremiereDom",
16+
"statut",
1617
"typeDom",
1718
"pinnedNote",
1819
// "entretien",

packages/backend/src/database/services/usager/usagerRepository.service.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,11 +200,14 @@ async function findLastFiveCustomRef({
200200
"structureId",
201201
])
202202
)
203-
.where(`statut = :statut and "structureId" = :structureId`, {
204-
statut: "VALIDE",
205-
structureId,
206-
usagerRef,
207-
})
203+
.where(
204+
`statut = :statut and "structureId" = :structureId and ref != :usagerRef`,
205+
{
206+
statut: "VALIDE",
207+
structureId,
208+
usagerRef,
209+
}
210+
)
208211
.orderBy({ "(decision->>'dateDecision')::timestamptz": "DESC" })
209212
.limit(5)
210213
.getRawMany();

packages/backend/src/usagers/controllers/usagers-decision.controller.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ export class UsagersDecisionController {
140140

141141
// On récupère la dernière décision
142142
usager.decision = usager.historique[usager.historique.length - 1];
143+
usager.statut = usager.decision.statut;
143144

144145
usager.lastInteraction.dateInteraction = await getLastInteractionOut(
145146
usager,

packages/backend/src/usagers/services/usagers.service.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ export class UsagersService {
4343
usager.etapeDemande = ETAPE_RENDEZ_VOUS;
4444
usager.ref = await usagersCreator.findNextUsagerRef(user.structureId);
4545
usager.customRef = `${usager.ref}`;
46-
usager.statut = "INSTRUCTION";
4746

4847
usager.decision = {
4948
uuid: uuidv4(),
@@ -55,6 +54,7 @@ export class UsagersService {
5554
dateDebut: now,
5655
typeDom: "PREMIERE_DOM",
5756
};
57+
usager.statut = usager.decision.statut;
5858

5959
usager.historique.push(usager.decision);
6060
usager.structureId = user.structureId;
@@ -97,7 +97,6 @@ export class UsagersService {
9797
? new Date(usager.decision.dateFin)
9898
: new Date();
9999
}
100-
usager.statut = "INSTRUCTION";
101100

102101
usager.decision = {
103102
uuid: uuidv4(),
@@ -110,7 +109,7 @@ export class UsagersService {
110109
typeDom,
111110
motif: null,
112111
};
113-
112+
usager.statut = usager.decision.statut;
114113
// Ajout du précédent état dans l'historique
115114
usagerVisibleHistoryManager.addDecisionToVisibleHistory({ usager });
116115

@@ -136,6 +135,7 @@ export class UsagersService {
136135
{
137136
lastInteraction: usager.lastInteraction,
138137
decision: usager.decision,
138+
statut: usager.decision.statut,
139139
options: usager.options,
140140
historique: usager.historique,
141141
etapeDemande: usager.etapeDemande,
@@ -186,8 +186,9 @@ export class UsagersService {
186186
usager.datePremiereDom = newDecision.dateDebut;
187187
}
188188
}
189-
usager.statut = newDecision.statut;
189+
190190
usager.decision = newDecision as UsagerDecision;
191+
usager.statut = usager.decision.statut;
191192
usager.decision.uuid = uuidv4();
192193

193194
usagerVisibleHistoryManager.addDecisionToVisibleHistory({ usager });
@@ -205,6 +206,7 @@ export class UsagersService {
205206
lastInteraction: usager.lastInteraction,
206207
customRef: usager.customRef,
207208
decision: usager.decision,
209+
statut: usager.statut,
208210
historique: usager.historique,
209211
etapeDemande: usager.etapeDemande,
210212
typeDom: usager.typeDom,

packages/frontend/src/app/modules/manage-usagers/components/manage-usagers-page/manage-usagers-page.component.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import {
2929
tap,
3030
withLatestFrom,
3131
} from "rxjs/operators";
32-
import { AuthService } from "src/app/modules/shared/services/auth.service";
3332
import {
3433
fadeInOut,
3534
selectSearchPageLoadedUsagersData,
@@ -50,7 +49,7 @@ import { Store } from "@ngrx/store";
5049
import { ManageUsagersService } from "../../services/manage-usagers.service";
5150
import { UserStructure } from "@domifa/common";
5251
import { MatomoTracker } from "ngx-matomo-client";
53-
import { CustomToastService } from "../../../shared/services";
52+
import { AuthService, CustomToastService } from "../../../shared/services";
5453

5554
const AUTO_REFRESH_PERIOD = 300000; // 5 minutes
5655

@@ -381,7 +380,6 @@ export class ManageUsagersPageComponent implements OnInit, OnDestroy {
381380

382381
const filterCriteria: UsagersFilterCriteria = {
383382
...filters,
384-
statut: null,
385383
};
386384

387385
const filteredUsagers = usagersFilter.filter(

packages/frontend/src/app/modules/manage-usagers/components/usager-filter/services/checkers/usagerStatutChecker.service.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@ function check({
1111
}: {
1212
usager: UsagerLight;
1313
} & Pick<UsagersFilterCriteria, "statut">): boolean {
14-
if (statut && statut !== "TOUS") {
15-
if (statut !== usager.decision?.statut) {
16-
return false;
17-
}
14+
if (statut && statut !== "TOUS" && statut !== usager.decision?.statut) {
15+
return false;
1816
}
1917
return true;
2018
}

packages/frontend/src/app/modules/usager-dossier/components/step-etat-civil/step-etat-civil.component.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export class StepEtatCivilComponent
6363
next: (usager: Usager) => {
6464
this.usager = new UsagerFormModel(usager);
6565
this.initForm();
66+
this.listenNameChanges();
6667
},
6768
error: () => {
6869
this.toastService.error("Le dossier recherché n'existe pas");
@@ -73,8 +74,11 @@ export class StepEtatCivilComponent
7374
} else {
7475
this.usager = new UsagerFormModel();
7576
this.initForm();
77+
this.listenNameChanges();
7678
}
79+
}
7780

81+
public listenNameChanges() {
7882
const lastNameChanges = this.usagerForm.get("nom")!.valueChanges;
7983
const firstNameChanges = this.usagerForm.get("prenom")!.valueChanges;
8084

@@ -86,7 +90,6 @@ export class StepEtatCivilComponent
8690
})
8791
);
8892
}
89-
9093
public isDuplicateName(): void {
9194
if (
9295
this.usagerForm.controls.nom.value &&

0 commit comments

Comments
 (0)