mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
feat: Ajout des frais d'inscription lors de la création d'un RF [#18]
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import StructureManagement from '@/components/Structure/Configuration/StructureManagement';
|
||||
import ScheduleManagement from '@/components/Structure/Planning/ScheduleManagement';
|
||||
import FeesManagement from '@/components/Structure/Configuration/FeesManagement';
|
||||
import FeesManagement from '@/components/Structure/Tarification/FeesManagement';
|
||||
import DjangoCSRFToken from '@/components/DjangoCSRFToken';
|
||||
import useCsrfToken from '@/hooks/useCsrfToken';
|
||||
import { ClassesProvider } from '@/context/ClassesContext';
|
||||
|
||||
@ -32,7 +32,13 @@ import {
|
||||
fetchStudents,
|
||||
editRegisterForm } from "@/app/lib/subscriptionAction"
|
||||
|
||||
import { fetchClasses } from '@/app/lib/schoolAction';
|
||||
import {
|
||||
fetchClasses,
|
||||
fetchRegistrationDiscounts,
|
||||
fetchTuitionDiscounts,
|
||||
fetchRegistrationFees,
|
||||
fetchTuitionFees } from '@/app/lib/schoolAction';
|
||||
|
||||
import { createProfile } from '@/app/lib/authAction';
|
||||
|
||||
import {
|
||||
@ -75,6 +81,11 @@ export default function Page({ params: { locale } }) {
|
||||
const [isEditing, setIsEditing] = useState(false);
|
||||
const [fileToEdit, setFileToEdit] = useState(null);
|
||||
|
||||
const [registrationDiscounts, setRegistrationDiscounts] = useState([]);
|
||||
const [tuitionDiscounts, setTuitionDiscounts] = useState([]);
|
||||
const [registrationFees, setRegistrationFees] = useState([]);
|
||||
const [tuitionFees, setTuitionFees] = useState([]);
|
||||
|
||||
const csrfToken = useCsrfToken();
|
||||
|
||||
const openModal = () => {
|
||||
@ -151,6 +162,7 @@ const registerFormArchivedDataHandler = (data) => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: revoir le système de pagination et de UseEffect
|
||||
|
||||
useEffect(() => {
|
||||
@ -195,7 +207,27 @@ const registerFormArchivedDataHandler = (data) => {
|
||||
|
||||
setFichiers(data)
|
||||
})
|
||||
.catch((err)=>{ err = err.message; console.log(err);});
|
||||
.catch((err)=>{ err = err.message; console.log(err);})
|
||||
fetchRegistrationDiscounts()
|
||||
.then(data => {
|
||||
setRegistrationDiscounts(data);
|
||||
})
|
||||
.catch(requestErrorHandler)
|
||||
fetchTuitionDiscounts()
|
||||
.then(data => {
|
||||
setTuitionDiscounts(data);
|
||||
})
|
||||
.catch(requestErrorHandler)
|
||||
fetchRegistrationFees()
|
||||
.then(data => {
|
||||
setRegistrationFees(data);
|
||||
})
|
||||
.catch(requestErrorHandler)
|
||||
fetchTuitionFees()
|
||||
.then(data => {
|
||||
setTuitionFees(data);
|
||||
})
|
||||
.catch(requestErrorHandler);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
setRegistrationFormsDataPending(mockFicheInscription);
|
||||
@ -321,6 +353,8 @@ useEffect(()=>{
|
||||
|
||||
const createRF = (updatedData) => {
|
||||
console.log('createRF updatedData:', updatedData);
|
||||
const selectedRegistrationFeesIds = updatedData.selectedRegistrationFees.map(feeId => feeId)
|
||||
const selectedRegistrationDiscountsIds = updatedData.selectedRegistrationDiscounts.map(discountId => discountId)
|
||||
|
||||
if (updatedData.selectedGuardians.length !== 0) {
|
||||
const selectedGuardiansIds = updatedData.selectedGuardians.map(guardianId => guardianId)
|
||||
@ -330,7 +364,9 @@ useEffect(()=>{
|
||||
last_name: updatedData.studentLastName,
|
||||
first_name: updatedData.studentFirstName,
|
||||
},
|
||||
idGuardians: selectedGuardiansIds
|
||||
idGuardians: selectedGuardiansIds,
|
||||
fees: selectedRegistrationFeesIds,
|
||||
discounts: selectedRegistrationDiscountsIds
|
||||
};
|
||||
|
||||
createRegisterForm(data,csrfToken)
|
||||
@ -379,7 +415,9 @@ useEffect(()=>{
|
||||
}
|
||||
],
|
||||
sibling: []
|
||||
}
|
||||
},
|
||||
fees: selectedRegistrationFeesIds,
|
||||
discounts: selectedRegistrationDiscountsIds
|
||||
};
|
||||
|
||||
createRegisterForm(data,csrfToken)
|
||||
@ -784,6 +822,10 @@ const handleFileUpload = ({file, name, is_required, order}) => {
|
||||
size='sm:w-1/4'
|
||||
ContentComponent={() => (
|
||||
<InscriptionForm students={students}
|
||||
registrationDiscounts={registrationDiscounts}
|
||||
tuitionDiscounts={tuitionDiscounts}
|
||||
registrationFees={registrationFees}
|
||||
tuitionFees={tuitionFees}
|
||||
onSubmit={createRF}
|
||||
/>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user