Skip to content
Extraits de code Groupes Projets
Valider ec6e29b5 rédigé par Mohamed Lemine BAILLAHI's avatar Mohamed Lemine BAILLAHI
Parcourir les fichiers

Merge branch 'feature/VSN-750' into 'develop'

Resolve VSN-750 "Feature/Add lastAmendmentDate field to passenger list"

Closes VSN-750

See merge request !235
parents 13db2996 f2d053da
Branches
Étiquettes v0.0.38
1 requête de fusion!235Resolve VSN-750 "Feature/Add lastAmendmentDate field to passenger list"
Pipeline #19938 réussi avec l'étape
in 21 secondes
......@@ -33,7 +33,7 @@ export const DEFAULT_USAGER_TABLE_HEAD: TableColumn[] = [
{ id: 'schoolClass', label: 'Classe', type: 'text', align: 'left' },
{ id: 'address', label: 'Adresse', type: 'text', align: 'left' },
{ id: 'state', label: 'Etat', type: 'status', align: 'left' },
{ id: 'avenantDu', label: 'avenant du', type: 'text', align: 'left' },
{ id: 'lastAmendmentDate', label: 'avenant du', type: 'text', align: 'left' },
{ id: 'code', label: 'Code', type: 'text', align: 'left' },
{ id: 'type', label: 'Type', type: 'text', align: 'left' },
{ id: 'responsibleName', label: 'Nom Responsable', type: 'text', align: 'left' },
......
......@@ -41,6 +41,7 @@ export const usePassengerStore = create<PassengerStore>((set) => ({
error: error.message || 'Failed to search passengers',
loading: false,
});
throw error;
}
},
......@@ -65,9 +66,8 @@ export const usePassengerStore = create<PassengerStore>((set) => ({
set({ loading: true, error: null });
try {
const response = await axiosInstance.post(userEndpoints.user.passenger.updatePassenger, passenger);
console.log("response", response.data)
set((state) => ({
contracts: state.passengers.map((c) => (c.id === passenger.id ? response.data : c)),
passengers: state.passengers.map((c) => (c.id === passenger.id ? response.data : c)),
loading: false,
}));
} catch (error: any) {
......
......@@ -5,6 +5,7 @@ import { usePassengerStore } from '@/shared/api/stores/passengerStore';
import { useEffect, useState } from 'react';
import { IPassengerList, SearchPassengerParams } from '@/shared/types/passenger';
import { isValidFilterValue } from '@/utils/helper';
import { enqueueSnackbar } from 'notistack';
export function useUsagerTable() {
const [params, setParams] = useState<SearchPassengerParams>({
......@@ -51,10 +52,18 @@ export function useUsagerTable() {
if (paramsChanged) {
setParams(newParams);
}
}, [tableManager.table.page, tableManager.filters, tableManager.table.rowsPerPage, tableManager.table.orderBy, tableManager.table.order, searchPassengers]);
}, [tableManager.table.page, tableManager.filters, tableManager.table.rowsPerPage, tableManager.table.orderBy, tableManager.table.order]);
useEffect(() => {
searchPassengers(params);
const fetchPassengers = async () => {
try {
await searchPassengers(params);
} catch (error: any) {
enqueueSnackbar(error.message || 'Erreur lors de la recherche des passagers', { variant: 'error' });
}
};
fetchPassengers();
}, [params, searchPassengers]);
return {
......
......@@ -139,7 +139,7 @@ export const usagerSchema = Yup.object().shape({
export const avenantUsagerSchema = Yup.object().shape({
dateApplication: Yup.string().required('La date d\'application est requise'),
codeCircuit: Yup.string().required('Le code circuit est requis'),
codeCircuit: Yup.string(),
intituleCircuit: Yup.string().required('L\'intitulé du circuit est requis'),
objetAvenant: Yup.string().required('L\'objet de l\'avenant est requis'),
specificite: Yup.string().required('La specificite est requis'),
......
......@@ -71,6 +71,7 @@ export default function UsagerTableRow({
return row.representatives?.length ? row.representatives[0]?.firstName : '-';
case 'birthDate':
case 'startTransport':
case 'lastAmendmentDate':
return formatDate(value, dateFormat.isoDate);
case 'state':
return (
......
......@@ -119,6 +119,7 @@ export interface IPassengerList extends IUserPassenger {
openingDays: string;
observations: string;
startTransport: string;
lastAmendmentDate?: string;
specificity: string;
referentTeacherName: string;
custodyCategory: CustodyCategory;
......@@ -143,6 +144,7 @@ export interface SearchPassengerParams {
birthPlace?: string;
schoolClass?: string;
startTransport?: string;
lastAmendmentDate?: string;
observations?: string;
departmentName?: string;
type?: string;
......
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter