feat: Sortie des calculs des montants totaux de la partie configuration + revue du rendu [#18]

This commit is contained in:
N3WT DE COMPET
2025-01-23 20:00:17 +01:00
parent 5462306a60
commit 799e1c6717
11 changed files with 266 additions and 532 deletions

View File

@ -6,15 +6,16 @@ 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, fetchRegistrationFees, fetchTuitionFees } from '@/app/lib/schoolAction';
import { fetchSpecialities, fetchTeachers, fetchClasses, fetchSchedules, fetchRegistrationDiscounts, fetchTuitionDiscounts, 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 [registrationDiscounts, setRegistrationDiscounts] = useState([]);
const [tuitionDiscounts, setTuitionDiscounts] = useState([]);
const [registrationFees, setRegistrationFees] = useState([]);
const [discounts, setDiscounts] = useState([]);
const [tuitionFees, setTuitionFees] = useState([]);
const csrfToken = useCsrfToken();
@ -32,8 +33,11 @@ export default function Page() {
// Fetch data for schedules
handleSchedules();
// Fetch data for discounts
handleDiscounts();
// Fetch data for registration discounts
handleRegistrationDiscounts();
// Fetch data for tuition discounts
handleTuitionDiscounts();
// Fetch data for registration fees
handleRegistrationFees();
@ -74,12 +78,20 @@ export default function Page() {
.catch(error => console.error('Error fetching schedules:', error));
};
const handleDiscounts = () => {
fetchDiscounts()
const handleRegistrationDiscounts = () => {
fetchRegistrationDiscounts()
.then(data => {
setDiscounts(data);
setRegistrationDiscounts(data);
})
.catch(error => console.error('Error fetching discounts:', error));
.catch(error => console.error('Error fetching registration discounts:', error));
};
const handleTuitionDiscounts = () => {
fetchTuitionDiscounts()
.then(data => {
setTuitionDiscounts(data);
})
.catch(error => console.error('Error fetching tuition discounts:', error));
};
const handleRegistrationFees = () => {
@ -236,8 +248,10 @@ export default function Page() {
label: 'Tarifications',
content: (
<FeesManagement
discounts={discounts}
setDiscounts={setDiscounts}
registrationDiscounts={registrationDiscounts}
setRegistrationDiscounts={setRegistrationDiscounts}
tuitionDiscounts={tuitionDiscounts}
setTuitionDiscounts={setTuitionDiscounts}
registrationFees={registrationFees}
setRegistrationFees={setRegistrationFees}
tuitionFees={tuitionFees}