feat: Harmonisation des fees / ajout de type de réduction / mise à jour

du calcul [#18]
This commit is contained in:
N3WT DE COMPET
2025-01-21 20:39:36 +01:00
parent 8d1a41e269
commit 5462306a60
11 changed files with 169 additions and 194 deletions

View File

@ -1,20 +1,19 @@
'use client'
import React, { useState, useEffect } from 'react';
import { School, Calendar, DollarSign } from 'lucide-react'; // Import de l'icône DollarSign
import StructureManagement from '@/components/Structure/Configuration/StructureManagement';
import ScheduleManagement from '@/components/Structure/Planning/ScheduleManagement';
import FeesManagement from '@/components/Structure/Configuration/FeesManagement';
import DjangoCSRFToken from '@/components/DjangoCSRFToken';
import useCsrfToken from '@/hooks/useCsrfToken';
import { ClassesProvider } from '@/context/ClassesContext';
import { fetchSpecialities, fetchTeachers, fetchClasses, fetchSchedules, fetchDiscounts, fetchFees, fetchTuitionFees } from '@/app/lib/schoolAction';
import { fetchSpecialities, fetchTeachers, fetchClasses, fetchSchedules, fetchDiscounts, fetchRegistrationFees, fetchTuitionFees } from '@/app/lib/schoolAction';
import SidebarTabs from '@/components/SidebarTabs';
export default function Page() {
const [specialities, setSpecialities] = useState([]);
const [classes, setClasses] = useState([]);
const [teachers, setTeachers] = useState([]);
const [fees, setFees] = useState([]);
const [registrationFees, setRegistrationFees] = useState([]);
const [discounts, setDiscounts] = useState([]);
const [tuitionFees, setTuitionFees] = useState([]);
@ -33,13 +32,13 @@ export default function Page() {
// Fetch data for schedules
handleSchedules();
// Fetch data for fees
handleFees();
// Fetch data for discounts
handleDiscounts();
// Fetch data for registration fees
handleRegistrationFees();
// Fetch data for TuitionFee
// Fetch data for tuition fees
handleTuitionFees();
}, []);
@ -75,14 +74,6 @@ export default function Page() {
.catch(error => console.error('Error fetching schedules:', error));
};
const handleFees = () => {
fetchFees()
.then(data => {
setFees(data);
})
.catch(error => console.error('Error fetching fees:', error));
};
const handleDiscounts = () => {
fetchDiscounts()
.then(data => {
@ -91,6 +82,14 @@ export default function Page() {
.catch(error => console.error('Error fetching discounts:', error));
};
const handleRegistrationFees = () => {
fetchRegistrationFees()
.then(data => {
setRegistrationFees(data);
})
.catch(error => console.error('Error fetching registration fees:', error));
};
const handleTuitionFees = () => {
fetchTuitionFees()
.then(data => {
@ -237,10 +236,10 @@ export default function Page() {
label: 'Tarifications',
content: (
<FeesManagement
fees={fees}
setFees={setFees}
discounts={discounts}
setDiscounts={setDiscounts}
registrationFees={registrationFees}
setRegistrationFees={setRegistrationFees}
tuitionFees={tuitionFees}
setTuitionFees={setTuitionFees}
handleCreate={handleCreate}

View File

@ -4,8 +4,7 @@ import {
BE_SCHOOL_SCHOOLCLASSES_URL,
BE_SCHOOL_PLANNINGS_URL,
BE_SCHOOL_FEES_URL,
BE_SCHOOL_DISCOUNTS_URL,
BE_SCHOOL_TUITION_FEES_URL
BE_SCHOOL_DISCOUNTS_URL
} from '@/utils/Url';
const requestResponseHandler = async (response) => {
@ -46,12 +45,12 @@ export const fetchDiscounts = () => {
.then(requestResponseHandler)
};
export const fetchFees = () => {
return fetch(`${BE_SCHOOL_FEES_URL}`)
export const fetchRegistrationFees = () => {
return fetch(`${BE_SCHOOL_FEES_URL}/registration`)
.then(requestResponseHandler)
};
export const fetchTuitionFees = () => {
return fetch(`${BE_SCHOOL_TUITION_FEES_URL}`)
return fetch(`${BE_SCHOOL_FEES_URL}/tuition`)
.then(requestResponseHandler)
};
};