Skip to content

Commit

Permalink
feat: ajout de la date de transmissions sur les effectifs
Browse files Browse the repository at this point in the history
  • Loading branch information
Pomarom committed Mar 5, 2025
1 parent 4f76370 commit e061a00
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 14 deletions.
1 change: 1 addition & 0 deletions server/src/http/routes/specific.routes/organisme.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,7 @@ export async function getOrganismeEffectifs(
date_de_naissance: effectif.apprenant.date_de_naissance,
historique_statut: effectif.apprenant.historique_statut,
statut: effectif._computed?.statut,
transmitted_at: effectif.transmitted_at,
...(sifa
? {
requiredSifa: compact(
Expand Down
6 changes: 2 additions & 4 deletions ui/components/Table/TableWithApi.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,8 @@ function TableWithApi<T>(props: TableWithApiProps<T & { id: string; prominent?:

const toggleRowExpansion = (rowId: string) => {
setExpandedRows((prev) => {
const newSet = new Set(prev);
if (newSet.has(rowId)) {
newSet.delete(rowId);
} else {
const newSet = new Set<string>();
if (!prev.has(rowId)) {
newSet.add(rowId);
}
return newSet;
Expand Down
4 changes: 3 additions & 1 deletion ui/modules/mon-espace/effectifs/engine/Effectif.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ interface EffectifProps {
canEdit: boolean;
parcours: Statut["parcours"];
refetch: any;
transmissionDate: Date | null;
}

const Effectif = React.memo(function EffectifMemo({
modeSifa = false,
canEdit = false,
parcours,
refetch,
transmissionDate,
}: EffectifProps) {
const { controller: effectifFormController } = useEffectifForm({ schema: effectifFormSchema });
const { isLoading } = useInitEffectifForm({
Expand All @@ -38,7 +40,7 @@ const Effectif = React.memo(function EffectifMemo({
<>
{/* @ts-expect-error */}
<EffectifFormControllerContext.Provider value={effectifFormController}>
<EffectifForm modeSifa={modeSifa} parcours={parcours} refetch={refetch} />
<EffectifForm modeSifa={modeSifa} parcours={parcours} refetch={refetch} transmissionDate={transmissionDate} />
</EffectifFormControllerContext.Provider>
</>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ const EffectifTableDetails = ({ row, modeSifa = false, canEdit = false, refetch
modeSifa={modeSifa}
canEdit={canEdit}
parcours={row?.original?.statut?.parcours || []}
transmissionDate={row?.original?.transmitted_at || null}
refetch={refetch}
/>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { useRecoilValue } from "recoil";
import { EFF_EDITION_ELEMENT_LINK, MOTIF_SUPPRESSION, MOTIF_SUPPRESSION_LABEL, Statut, getStatut } from "shared";

import { _post } from "@/common/httpClient";
import { prettyPrintDate } from "@/common/utils/dateUtils";
import AppButton from "@/components/buttons/Button";
import Link from "@/components/Links/Link";
import { BasicModal } from "@/components/Modals/BasicModal";
Expand Down Expand Up @@ -202,10 +203,12 @@ export const EffectifForm = memo(
modeSifa = false,
parcours,
refetch,
transmissionDate,
}: {
modeSifa: boolean;
parcours: Statut["parcours"];
refetch: (options: { throwOnError: boolean; cancelRefetch: boolean }) => Promise<UseQueryResult>;
transmissionDate: Date | null;
}) => {
const { accordionIndex, setAccordionIndex } = useOpenAccordionToLocation();

Expand All @@ -216,17 +219,22 @@ export const EffectifForm = memo(
const sortedParcours = [...parcours].reverse();
const currentStatus = sortedParcours[0];
const historyStatus = sortedParcours.slice(1);

const computeTransmissionDate = (d: Date | null) => {
return d ? prettyPrintDate(d) : "plus de 2 semaines";
};
return (
<Box>
{!fromDECA && (
<SuppressionEffectifComponent
nom={values?.apprenant.nom}
prenom={values?.apprenant.prenom}
id={effectifId}
refetch={refetch}
/>
)}
<HStack justifyContent="space-between">
<Text>Date de dernière mise à jour : {computeTransmissionDate(transmissionDate)}</Text>
{!fromDECA && (
<SuppressionEffectifComponent
nom={values?.apprenant.nom}
prenom={values?.apprenant.prenom}
id={effectifId}
refetch={refetch}
/>
)}
</HStack>
<Box borderWidth="2px" borderStyle="solid" borderColor="#E3E3FD" p={2} mt={3}>
<Accordion
allowMultiple
Expand Down

0 comments on commit e061a00

Please sign in to comment.