mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
fix: Gestion des listes d'inscription "vides" [#1]
This commit is contained in:
@ -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;
|
||||
setFichesInscriptionsDataEnCours(fichesInscriptions);
|
||||
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,7 +129,9 @@ export default function Page({ params: { locale } }) {
|
||||
if (data) {
|
||||
const { fichesInscriptions, count } = data;
|
||||
setTotalArchives(count);
|
||||
setFichesInscriptionsDataArchivees(fichesInscriptions);
|
||||
if (fichesInscriptions) {
|
||||
setFichesInscriptionsDataArchivees(fichesInscriptions);
|
||||
}
|
||||
}
|
||||
console.log('Success ARCHIVED:', data);
|
||||
})
|
||||
@ -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}
|
||||
|
||||
Reference in New Issue
Block a user