feat: Gestion multi-profil multi-école

This commit is contained in:
N3WT DE COMPET
2025-03-09 16:22:28 +01:00
parent 95c154a4a2
commit 16178296ec
51 changed files with 1621 additions and 802 deletions

View File

@ -27,13 +27,13 @@ import {
fetchRegistrationTemplateMaster
} from "@/app/actions/registerFileGroupAction";
import logger from '@/utils/logger';
import { useEstablishment } from '@/context/EstablishmentContext';
export default function Page() {
const [specialities, setSpecialities] = useState([]);
const [classes, setClasses] = useState([]);
const [teachers, setTeachers] = useState([]);
const [schedules, setSchedules] = useState([]); // Add this line
const [schedules, setSchedules] = useState([]);
const [registrationDiscounts, setRegistrationDiscounts] = useState([]);
const [tuitionDiscounts, setTuitionDiscounts] = useState([]);
const [registrationFees, setRegistrationFees] = useState([]);
@ -45,54 +45,57 @@ export default function Page() {
const [tuitionPaymentModes, setTuitionPaymentModes] = useState([]);
const csrfToken = useCsrfToken();
const { selectedEstablishmentId } = useEstablishment();
useEffect(() => {
// Fetch data for specialities
handleSpecialities();
if (selectedEstablishmentId) {
// Fetch data for specialities
handleSpecialities();
// Fetch data for teachers
handleTeachers();
// Fetch data for teachers
handleTeachers();
// Fetch data for classes
handleClasses();
// Fetch data for classes
handleClasses();
// Fetch data for schedules
handleSchedules();
// Fetch data for schedules
handleSchedules();
// Fetch data for registration discounts
handleRegistrationDiscounts();
// Fetch data for registration discounts
handleRegistrationDiscounts();
// Fetch data for tuition discounts
handleTuitionDiscounts();
// Fetch data for tuition discounts
handleTuitionDiscounts();
// Fetch data for registration fees
handleRegistrationFees();
// Fetch data for registration fees
handleRegistrationFees();
// Fetch data for tuition fees
handleTuitionFees();
// Fetch data for tuition fees
handleTuitionFees();
// Fetch data for registration file templates
fetchRegistrationTemplateMaster()
.then((data)=> {
setFichiers(data)
})
.catch(error => logger.error('Error fetching files:', error));
// Fetch data for registration file templates
fetchRegistrationTemplateMaster()
.then((data)=> {
setFichiers(data)
})
.catch(error => logger.error('Error fetching files:', error));
// Fetch data for registration payment plans
handleRegistrationPaymentPlans();
// Fetch data for registration payment plans
handleRegistrationPaymentPlans();
// Fetch data for tuition payment plans
handleTuitionPaymentPlans();
// Fetch data for tuition payment plans
handleTuitionPaymentPlans();
// Fetch data for registration payment modes
handleRegistrationPaymentModes();
// Fetch data for registration payment modes
handleRegistrationPaymentModes();
// Fetch data for tuition payment modes
handleTuitionPaymentModes();
}, []);
// Fetch data for tuition payment modes
handleTuitionPaymentModes();
}
}, [selectedEstablishmentId]);
const handleSpecialities = () => {
fetchSpecialities()
fetchSpecialities(selectedEstablishmentId)
.then(data => {
setSpecialities(data);
})
@ -100,7 +103,7 @@ export default function Page() {
};
const handleTeachers = () => {
fetchTeachers()
fetchTeachers(selectedEstablishmentId)
.then(data => {
setTeachers(data);
})
@ -108,7 +111,7 @@ export default function Page() {
};
const handleClasses = () => {
fetchClasses()
fetchClasses(selectedEstablishmentId)
.then(data => {
setClasses(data);
})
@ -124,7 +127,7 @@ export default function Page() {
};
const handleRegistrationDiscounts = () => {
fetchRegistrationDiscounts()
fetchRegistrationDiscounts(selectedEstablishmentId)
.then(data => {
setRegistrationDiscounts(data);
})
@ -132,7 +135,7 @@ export default function Page() {
};
const handleTuitionDiscounts = () => {
fetchTuitionDiscounts()
fetchTuitionDiscounts(selectedEstablishmentId)
.then(data => {
setTuitionDiscounts(data);
})
@ -140,7 +143,7 @@ export default function Page() {
};
const handleRegistrationFees = () => {
fetchRegistrationFees()
fetchRegistrationFees(selectedEstablishmentId)
.then(data => {
setRegistrationFees(data);
})
@ -148,7 +151,7 @@ export default function Page() {
};
const handleTuitionFees = () => {
fetchTuitionFees()
fetchTuitionFees(selectedEstablishmentId)
.then(data => {
setTuitionFees(data);
})
@ -156,7 +159,7 @@ export default function Page() {
};
const handleRegistrationPaymentPlans = () => {
fetchRegistrationPaymentPlans()
fetchRegistrationPaymentPlans(selectedEstablishmentId)
.then(data => {
setRegistrationPaymentPlans(data);
})
@ -164,7 +167,7 @@ export default function Page() {
};
const handleTuitionPaymentPlans = () => {
fetchTuitionPaymentPlans()
fetchTuitionPaymentPlans(selectedEstablishmentId)
.then(data => {
setTuitionPaymentPlans(data);
})
@ -172,7 +175,7 @@ export default function Page() {
};
const handleRegistrationPaymentModes = () => {
fetchRegistrationPaymentModes()
fetchRegistrationPaymentModes(selectedEstablishmentId)
.then(data => {
setRegistrationPaymentModes(data);
})
@ -180,7 +183,7 @@ export default function Page() {
};
const handleTuitionPaymentModes = () => {
fetchTuitionPaymentModes()
fetchTuitionPaymentModes(selectedEstablishmentId)
.then(data => {
setTuitionPaymentModes(data);
})