feat: Mise en place des paiements en plusieurs fois (partie BACK) [#25]

This commit is contained in:
N3WT DE COMPET
2025-02-11 20:48:11 +01:00
parent ffc6ce8de8
commit 23203c0397
17 changed files with 599 additions and 86 deletions

View File

@ -9,15 +9,16 @@ import { ClassesProvider } from '@/context/ClassesContext';
import { createDatas,
updateDatas,
removeDatas,
fetchSpecialities,
fetchTeachers,
fetchClasses,
fetchSchedules,
fetchRegistrationDiscounts,
fetchTuitionDiscounts,
fetchRegistrationFees,
fetchSpecialities,
fetchTeachers,
fetchClasses,
fetchSchedules,
fetchRegistrationDiscounts,
fetchTuitionDiscounts,
fetchRegistrationFees,
fetchTuitionFees,
} from '@/app/lib/schoolAction';
fetchRregistrationPaymentPlans,
fetchTuitionPaymentPlans } from '@/app/lib/schoolAction';
import SidebarTabs from '@/components/SidebarTabs';
import FilesManagement from '@/components/Structure/Files/FilesManagement';
@ -35,6 +36,8 @@ export default function Page() {
const [registrationFees, setRegistrationFees] = useState([]);
const [tuitionFees, setTuitionFees] = useState([]);
const [fichiers, setFichiers] = useState([]);
const [registrationPaymentPlans, setRegistrationPaymentPlans] = useState([]);
const [tuitionPaymentPlans, setTuitionPaymentPlans] = useState([]);
const csrfToken = useCsrfToken();
@ -70,7 +73,11 @@ export default function Page() {
})
.catch(error => console.error('Error fetching files:', error));
// Fetch data for registration payment plans
handleRegistrationPaymentPlans();
// Fetch data for tuition payment plans
handleTuitionPaymentPlans();
}, []);
const handleSpecialities = () => {
@ -137,6 +144,22 @@ export default function Page() {
.catch(error => console.error('Error fetching tuition fees', error));
};
const handleRegistrationPaymentPlans = () => {
fetchRregistrationPaymentPlans()
.then(data => {
setRegistrationPaymentPlans(data);
})
.catch(error => console.error('Error fetching registration payment plans:', error));
};
const handleTuitionPaymentPlans = () => {
fetchTuitionPaymentPlans()
.then(data => {
setTuitionPaymentPlans(data);
})
.catch(error => console.error('Error fetching tuition payment plans:', error));
};
const handleCreate = (url, newData, setDatas) => {
return createDatas(url, newData, csrfToken)
.then(data => {
@ -236,6 +259,11 @@ export default function Page() {
setRegistrationFees={setRegistrationFees}
tuitionFees={tuitionFees}
setTuitionFees={setTuitionFees}
registrationPaymentPlans={registrationPaymentPlans}
setRegistrationPaymentPlans={setRegistrationPaymentPlans}
tuitionPaymentPlans={tuitionPaymentPlans}
setTuitionPaymentPlans={setTuitionPaymentPlans}
setRegist
handleCreate={handleCreate}
handleEdit={handleEdit}
handleDelete={handleDelete}