diff --git a/apps/admin/src/animals/situation/db.server.ts b/apps/admin/src/animals/situation/db.server.ts index 8e1de01f..fa09f607 100644 --- a/apps/admin/src/animals/situation/db.server.ts +++ b/apps/admin/src/animals/situation/db.server.ts @@ -16,6 +16,8 @@ type SituationKeys = | "comments" | "diagnosis" | "fosterFamilyId" + | "freeCity" + | "freeComment" | "isSterilizationMandatory" | "isSterilized" | "isVaccinationMandatory" @@ -144,6 +146,11 @@ export class AnimalSituationDbDelegate { data.adoptionOption = null } + if (data.status !== Status.FREE) { + data.freeCity = null + data.freeComment = null + } + if (!ACTIVE_ANIMAL_STATUS.includes(data.status)) { data.fosterFamilyId = null } diff --git a/apps/admin/src/animals/situation/form.tsx b/apps/admin/src/animals/situation/form.tsx index 510df44b..8313231c 100644 --- a/apps/admin/src/animals/situation/form.tsx +++ b/apps/admin/src/animals/situation/form.tsx @@ -66,6 +66,8 @@ export const ActionFormData = FormDataDelegate.create( comments: zu.string().trim(), diagnosis: zu.nativeEnum(Diagnosis).default(Diagnosis.UNKNOWN), fosterFamilyId: zu.string().uuid().optional(), + freeCity: zu.string().trim().optional(), + freeComment: zu.string().trim().optional(), isSterilized: zu.enum(["YES", "NO", "NOT_MANDATORY"], { required_error: "Veuillez choisir une option", }), @@ -103,6 +105,8 @@ type DefaultAnimal = null | SerializeFrom< | "adoptionOption" | "comments" | "diagnosis" + | "freeCity" + | "freeComment" | "gender" | "isSterilizationMandatory" | "isSterilized" @@ -198,6 +202,43 @@ export function AnimalSituationForm({ ) : null} + {statusState === Status.FREE && + defaultAnimal?.species === Species.CAT ? ( + <> + + + + + Ville + + + + + + } + /> + + + + + Informations complémentaires + + +