fix: Gestion des listes d'inscription "vides" [#1]

This commit is contained in:
N3WT DE COMPET
2024-11-24 10:24:09 +01:00
parent 81d1dfa9a7
commit edc97242f2

View File

@ -23,7 +23,8 @@ import { BK_GESTIONINSCRIPTION_FICHESINSCRIPTION_URL,
FR_ADMIN_STUDENT_EDIT_SUBSCRIBE,
BK_GESTIONINSCRIPTION_ARCHIVE_URL,
BK_GESTIONINSCRIPTION_CLASSES_URL,
BK_GESTIONINSCRIPTION_FICHEINSCRIPTION_URL } from '@/utils/Url';
BK_GESTIONINSCRIPTION_FICHEINSCRIPTION_URL,
BK_GESTIONINSCRIPTION_ELEVES_URL } from '@/utils/Url';
import DjangoCSRFToken from '@/components/DjangoCSRFToken'
import useCsrfToken from '@/hooks/useCsrfToken';
@ -34,7 +35,7 @@ export default function Page({ params: { locale } }) {
const t = useTranslations('students');
const [ficheInscriptions, setFicheInscriptions] = useState([]);
const [fichesInscriptionsDataEnCours, setFichesInscriptionsDataEnCours] = useState([]);
const [fichesInscriptionsDataInscrits, setichesInscriptionsDataInscrits] = useState([]);
const [fichesInscriptionsDataInscrits, setFichesInscriptionsDataInscrits] = useState([]);
const [fichesInscriptionsDataArchivees, setFichesInscriptionsDataArchivees] = useState([]);
// const [filter, setFilter] = useState('*');
const [searchTerm, setSearchTerm] = useState('');
@ -55,6 +56,7 @@ export default function Page({ params: { locale } }) {
const [isOpenAffectationClasse, setIsOpenAffectationClasse] = useState(false);
const [eleve, setEleve] = useState('');
const [classes, setClasses] = useState([]);
const [eleves, setEleves] = useState([]);
const csrfToken = useCsrfToken();
@ -78,7 +80,9 @@ export default function Page({ params: { locale } }) {
setIsLoading(false);
if (data) {
const { fichesInscriptions, count } = data;
if (ficheInscriptions) {
setFichesInscriptionsDataEnCours(fichesInscriptions);
}
const calculatedTotalPages = Math.ceil(count / pageSize);
setTotalPending(count);
setTotalPages(calculatedTotalPages);
@ -102,7 +106,9 @@ export default function Page({ params: { locale } }) {
if (data) {
const { fichesInscriptions, count } = data;
setTotalSubscribed(count);
setichesInscriptionsDataInscrits(fichesInscriptions);
if (fichesInscriptions) {
setFichesInscriptionsDataInscrits(fichesInscriptions);
}
}
console.log('Success SUBSCRIBED:', data);
})
@ -123,8 +129,10 @@ export default function Page({ params: { locale } }) {
if (data) {
const { fichesInscriptions, count } = data;
setTotalArchives(count);
if (fichesInscriptions) {
setFichesInscriptionsDataArchivees(fichesInscriptions);
}
}
console.log('Success ARCHIVED:', data);
})
.catch(error => {
@ -138,15 +146,38 @@ export default function Page({ params: { locale } }) {
.then(response => response.json())
.then(data => {
setClasses(data);
console.log("classes : ", data)
console.log("Success CLASSES : ", data)
})
.catch(error => {
console.error('Error fetching classes:', error);
});
};
const fetchStudents = () => {
const request = new Request(
`${BK_GESTIONINSCRIPTION_ELEVES_URL}`,
{
method:'GET',
headers: {
'Content-Type':'application/json'
},
}
);
fetch(request).then(response => response.json())
.then(data => {
console.log('Success STUDENTS:', data);
setEleves(data);
})
.catch(error => {
console.error('Error fetching data:', error);
error = error.message;
console.log(error);
});
};
useEffect(() => {
fetchClasses();
fetchStudents();
}, []);
useEffect(() => {
@ -433,12 +464,6 @@ const columnsSubscribed = [
onClick={() => setActiveTab('archived')}
/>
<Button text={t("addStudent")} primary onClick={openModal} icon={<UserPlus size={20} />} />
<Modal
isOpen={isOpen}
setIsOpen={setIsOpen}
title={"Création d'un nouveau dossier d'inscription"}
ContentComponent={InscriptionForm}
/>
</div>
</div>
@ -484,6 +509,17 @@ const columnsSubscribed = [
}}
onCancel={() => setPopup({ ...popup, visible: false })}
/>
{isOpen && (
<Modal
isOpen={isOpen}
setIsOpen={setIsOpen}
title={"Création d'un nouveau dossier d'inscription"}
ContentComponent={() => (
<InscriptionForm eleves={eleves} onSubmit={handleModalSubmit} />
)}
/>
)}
{isOpenAffectationClasse && (
<Modal
isOpen={isOpenAffectationClasse}