fix: gestion des codes retours

This commit is contained in:
N3WT DE COMPET
2025-02-07 17:40:30 +01:00
parent 42b4c99be8
commit 7f35527649
6 changed files with 124 additions and 84 deletions

View File

@ -6,7 +6,17 @@ import FeesManagement from '@/components/Structure/Tarification/FeesManagement';
import DjangoCSRFToken from '@/components/DjangoCSRFToken';
import useCsrfToken from '@/hooks/useCsrfToken';
import { ClassesProvider } from '@/context/ClassesContext';
import { fetchSpecialities, fetchTeachers, fetchClasses, fetchSchedules, fetchRegistrationDiscounts, fetchTuitionDiscounts, fetchRegistrationFees, fetchTuitionFees } from '@/app/lib/schoolAction';
import { createDatas,
updateDatas,
removeDatas,
fetchSpecialities,
fetchTeachers,
fetchClasses,
fetchSchedules,
fetchRegistrationDiscounts,
fetchTuitionDiscounts,
fetchRegistrationFees,
fetchTuitionFees } from '@/app/lib/schoolAction';
import SidebarTabs from '@/components/SidebarTabs';
export default function Page() {
@ -111,23 +121,7 @@ export default function Page() {
};
const handleCreate = (url, newData, setDatas) => {
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': csrfToken
},
body: JSON.stringify(newData),
credentials: 'include'
})
.then(response => {
if (!response.ok) {
return response.json().then(errorData => {
throw errorData;
});
}
return response.json();
})
return createDatas(url, newData, csrfToken)
.then(data => {
setDatas(prevState => [...prevState, data]);
return data;
@ -139,23 +133,7 @@ export default function Page() {
};
const handleEdit = (url, id, updatedData, setDatas) => {
return fetch(`${url}/${id}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': csrfToken
},
body: JSON.stringify(updatedData),
credentials: 'include'
})
.then(response => {
if (!response.ok) {
return response.json().then(errorData => {
throw errorData;
});
}
return response.json();
})
return updateDatas(url, id, updatedData, csrfToken)
.then(data => {
setDatas(prevState => prevState.map(item => item.id === id ? data : item));
return data;
@ -167,22 +145,7 @@ export default function Page() {
};
const handleDelete = (url, id, setDatas) => {
return fetch(`${url}/${id}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': csrfToken
},
credentials: 'include'
})
.then(response => {
if (!response.ok) {
return response.json().then(errorData => {
throw errorData;
});
}
return response.json();
})
return removeDatas(url, id, csrfToken)
.then(data => {
setDatas(prevState => prevState.filter(item => item.id !== id));
return data;