Skip to content

Commit

Permalink
fix: Fix error handling and display in TablaMaterias component
Browse files Browse the repository at this point in the history
  • Loading branch information
yoelmarain committed Sep 4, 2024
1 parent 65951d7 commit 81ae1ac
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 41 deletions.
2 changes: 1 addition & 1 deletion FrontAdmin/src/components/Modal/ModalAgregarMateria.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ import {
/>
<Stack direction="column">
<Text>Cuatrimestre</Text>
<RadioGroup defaultValue="1" onChange={(value) => setCuatrimestre(value.toString())}>
<RadioGroup onChange={(value) => setCuatrimestre(value.toString())}>
<Stack direction="row">
<Radio value="1">1</Radio>
<Radio value="2">2</Radio>
Expand Down
72 changes: 32 additions & 40 deletions FrontAdmin/src/components/Pages/Sysacad/Materias/TablaMaterias.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,14 @@ export default function TablaMaterias() {

useEffect(() => {
const fetchData = async () => {
try {
const data = await FetchMaterias();
setMaterias(data);
console.log(data);
} catch (error) {
console.error('Network error', error);
showToast('Error', 'No se pudieron cargar las materias', 'error');
}
};
fetchData();
}, []);
Expand All @@ -45,21 +50,26 @@ export default function TablaMaterias() {
onOpen1();
};

const handleConfirmarBorrado = () => {
// Aca la solicitud DELETE para eliminar la materia
try {
const Data = FetchDeleteMateria(selectedMateria.codigo_materia);
showToast('Exito', 'Materia eliminada con exito', 'success');
setMaterias(materias.filter(m => m.codigo_materia !== selectedMateria.codigo_materia)); // Elimina del estado
} catch (error) {
console.error('Network error', error);
showToast('Error', 'No se pudo eliminar la materia', 'error');
}

onClose1();
};
const handleConfirmarBorrado = async () => {
try {
await FetchDeleteMateria(selectedMateria.codigo_materia);
showToast('Exito', 'Materia eliminada con exito', 'success');
setMaterias((prevMaterias) =>
prevMaterias.filter((m) => m.codigo_materia !== selectedMateria.codigo_materia)
); // Elimina del estado
} catch (error) {
console.error('Network error', error);
showToast('Error', 'No se pudo eliminar la materia', 'error');
}
onClose1();
};

const handleAgregar = (codigo_materia: string, anio_cursada: string, nombre: string, anio_plan: string, cuatrimestre:string) => {
// Validar si todos los campos están completos
if (!codigo_materia || !anio_cursada || !nombre || !anio_plan || !cuatrimestre) {
showToast('Error', 'No se pudo agregar la materia, todos los campos deben ser completados', 'error');
return;
}
// Aca la solicitud POST para agregar la materia
try {
console.log({ codigo_materia, anio_plan, nombre });
Expand All @@ -80,6 +90,10 @@ export default function TablaMaterias() {
};

const handleConfirmarEditar = (codigo_materia:string, anio_cursado:string, nombre: string, cuatrimestre:string, anio_plan: string) => {
if (!codigo_materia || !anio_cursado || !nombre || !anio_plan || !cuatrimestre) {
showToast('Error', 'No se pudo editar la materia, todos los campos deben ser completados', 'error');
return;
}
// Aca la solicitud PUT para editar la materia
try {
const Data = FetchPutMateria(parseInt(codigo_materia), parseInt(anio_cursado), parseInt(anio_plan), nombre, parseInt(cuatrimestre));
Expand Down Expand Up @@ -108,14 +122,11 @@ export default function TablaMaterias() {
onClose3();
}

onClose3();
};
// onClose3();
//};

return (
<Box>
{materias.length > 0 ? (
<Box>

<Box>
<Flex justifyContent="center" mb={4}>
<Button leftIcon={<AddIcon />} colorScheme="green" onClick={onOpen2}>Agregar Materia</Button>
Expand Down Expand Up @@ -179,27 +190,8 @@ export default function TablaMaterias() {
confirmar={handleConfirmarEditar}
materia={selectedMateriaEditar}
/>
</Box>
) : (
<Text>No hay datos disponibles</Text>
)}
<ModalComponent
isOpen={isOpen1}
onClose={onClose1}
texto={`¿Estás seguro que deseas eliminar ${selectedMateria?.nombre}?`}
confirmar={handleConfirmarBorrado}
/>
<ModalComponentMateria
isOpen={isOpen2}
onClose={onClose2}
confirmar={handleAgregar}
/>
<ModalEditarMateria
isOpen={isOpen3}
onClose={onClose3}
confirmar={handleConfirmarEditar}
materia={selectedMateriaEditar}
/>
</Box>
</Box>

);

}

0 comments on commit 81ae1ac

Please sign in to comment.