mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +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,
|
FR_ADMIN_STUDENT_EDIT_SUBSCRIBE,
|
||||||
BK_GESTIONINSCRIPTION_ARCHIVE_URL,
|
BK_GESTIONINSCRIPTION_ARCHIVE_URL,
|
||||||
BK_GESTIONINSCRIPTION_CLASSES_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 DjangoCSRFToken from '@/components/DjangoCSRFToken'
|
||||||
import useCsrfToken from '@/hooks/useCsrfToken';
|
import useCsrfToken from '@/hooks/useCsrfToken';
|
||||||
@ -34,7 +35,7 @@ export default function Page({ params: { locale } }) {
|
|||||||
const t = useTranslations('students');
|
const t = useTranslations('students');
|
||||||
const [ficheInscriptions, setFicheInscriptions] = useState([]);
|
const [ficheInscriptions, setFicheInscriptions] = useState([]);
|
||||||
const [fichesInscriptionsDataEnCours, setFichesInscriptionsDataEnCours] = useState([]);
|
const [fichesInscriptionsDataEnCours, setFichesInscriptionsDataEnCours] = useState([]);
|
||||||
const [fichesInscriptionsDataInscrits, setichesInscriptionsDataInscrits] = useState([]);
|
const [fichesInscriptionsDataInscrits, setFichesInscriptionsDataInscrits] = useState([]);
|
||||||
const [fichesInscriptionsDataArchivees, setFichesInscriptionsDataArchivees] = useState([]);
|
const [fichesInscriptionsDataArchivees, setFichesInscriptionsDataArchivees] = useState([]);
|
||||||
// const [filter, setFilter] = useState('*');
|
// const [filter, setFilter] = useState('*');
|
||||||
const [searchTerm, setSearchTerm] = useState('');
|
const [searchTerm, setSearchTerm] = useState('');
|
||||||
@ -55,6 +56,7 @@ export default function Page({ params: { locale } }) {
|
|||||||
const [isOpenAffectationClasse, setIsOpenAffectationClasse] = useState(false);
|
const [isOpenAffectationClasse, setIsOpenAffectationClasse] = useState(false);
|
||||||
const [eleve, setEleve] = useState('');
|
const [eleve, setEleve] = useState('');
|
||||||
const [classes, setClasses] = useState([]);
|
const [classes, setClasses] = useState([]);
|
||||||
|
const [eleves, setEleves] = useState([]);
|
||||||
|
|
||||||
const csrfToken = useCsrfToken();
|
const csrfToken = useCsrfToken();
|
||||||
|
|
||||||
@ -78,7 +80,9 @@ export default function Page({ params: { locale } }) {
|
|||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
if (data) {
|
if (data) {
|
||||||
const { fichesInscriptions, count } = data;
|
const { fichesInscriptions, count } = data;
|
||||||
setFichesInscriptionsDataEnCours(fichesInscriptions);
|
if (ficheInscriptions) {
|
||||||
|
setFichesInscriptionsDataEnCours(fichesInscriptions);
|
||||||
|
}
|
||||||
const calculatedTotalPages = Math.ceil(count / pageSize);
|
const calculatedTotalPages = Math.ceil(count / pageSize);
|
||||||
setTotalPending(count);
|
setTotalPending(count);
|
||||||
setTotalPages(calculatedTotalPages);
|
setTotalPages(calculatedTotalPages);
|
||||||
@ -102,7 +106,9 @@ export default function Page({ params: { locale } }) {
|
|||||||
if (data) {
|
if (data) {
|
||||||
const { fichesInscriptions, count } = data;
|
const { fichesInscriptions, count } = data;
|
||||||
setTotalSubscribed(count);
|
setTotalSubscribed(count);
|
||||||
setichesInscriptionsDataInscrits(fichesInscriptions);
|
if (fichesInscriptions) {
|
||||||
|
setFichesInscriptionsDataInscrits(fichesInscriptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
console.log('Success SUBSCRIBED:', data);
|
console.log('Success SUBSCRIBED:', data);
|
||||||
})
|
})
|
||||||
@ -123,7 +129,9 @@ export default function Page({ params: { locale } }) {
|
|||||||
if (data) {
|
if (data) {
|
||||||
const { fichesInscriptions, count } = data;
|
const { fichesInscriptions, count } = data;
|
||||||
setTotalArchives(count);
|
setTotalArchives(count);
|
||||||
setFichesInscriptionsDataArchivees(fichesInscriptions);
|
if (fichesInscriptions) {
|
||||||
|
setFichesInscriptionsDataArchivees(fichesInscriptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
console.log('Success ARCHIVED:', data);
|
console.log('Success ARCHIVED:', data);
|
||||||
})
|
})
|
||||||
@ -138,15 +146,38 @@ export default function Page({ params: { locale } }) {
|
|||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
setClasses(data);
|
setClasses(data);
|
||||||
console.log("classes : ", data)
|
console.log("Success CLASSES : ", data)
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error('Error fetching classes:', 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(() => {
|
useEffect(() => {
|
||||||
fetchClasses();
|
fetchClasses();
|
||||||
|
fetchStudents();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -433,12 +464,6 @@ const columnsSubscribed = [
|
|||||||
onClick={() => setActiveTab('archived')}
|
onClick={() => setActiveTab('archived')}
|
||||||
/>
|
/>
|
||||||
<Button text={t("addStudent")} primary onClick={openModal} icon={<UserPlus size={20} />} />
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -484,6 +509,17 @@ const columnsSubscribed = [
|
|||||||
}}
|
}}
|
||||||
onCancel={() => setPopup({ ...popup, visible: false })}
|
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 && (
|
{isOpenAffectationClasse && (
|
||||||
<Modal
|
<Modal
|
||||||
isOpen={isOpenAffectationClasse}
|
isOpen={isOpenAffectationClasse}
|
||||||
|
|||||||
Reference in New Issue
Block a user