diff --git a/api/routes/tareas/tareas.js b/api/routes/tareas/tareas.js index 1a61dcd..67d48fe 100644 --- a/api/routes/tareas/tareas.js +++ b/api/routes/tareas/tareas.js @@ -74,10 +74,11 @@ router.post('/', async (req, res) => { } catch (e) { if (e instanceof Prisma.PrismaClientKnownRequestError) { if (e.code === 'P2003') { - if (e.meta?.field_name?.includes('empleado_id')) { + const constraint = e.meta?.constraint || ''; + if (constraint.includes('empleado_id')) { return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' }); } - if (e.meta?.field_name?.includes('planilla_id')) { + if (constraint.includes('planilla_id')) { return res.status(400).json({ message: 'El planilla_id proporcionado no existe.' }); } } diff --git a/ui/src/views/empleados/EmpleadoForm.vue b/ui/src/views/empleados/EmpleadoForm.vue index 5fdabc1..a812bd0 100644 --- a/ui/src/views/empleados/EmpleadoForm.vue +++ b/ui/src/views/empleados/EmpleadoForm.vue @@ -217,9 +217,9 @@ const handleSubmit = async () => { } else { await empleadosStore.createEmpleado(payload) } - router.push('/empleados') - } catch (err) { - console.error('Error al guardar empleado:', err) + router.push({ name: 'empleados-index' }) + } catch (error) { + console.error('Error al guardar empleado:', error) // aquí podrías disparar una notificación } } diff --git a/ui/src/views/planillas/PlanillaForm.vue b/ui/src/views/planillas/PlanillaForm.vue index 98aa082..435d80e 100644 --- a/ui/src/views/planillas/PlanillaForm.vue +++ b/ui/src/views/planillas/PlanillaForm.vue @@ -193,11 +193,10 @@ const handleSubmit = async () => { } else { await planillasStore.createPlanilla(payload); } - router.push({ name: 'PlanillasIndex' }); + router.push({ name: 'planillas-index' }); } catch (error) { console.error('Error saving planilla:', error); - const errorMessage = error.response?.data?.message || error.message || 'Ocurrió un error al guardar la planilla.'; - alert(`Error: ${errorMessage}`); + alert(`Error: ${error}`); // Potentially set a form-level error message: // formErrors.general = `Error: ${errorMessage}`; } finally { diff --git a/ui/src/views/tareas/TareaForm.vue b/ui/src/views/tareas/TareaForm.vue index 094d6a3..ae8d05c 100644 --- a/ui/src/views/tareas/TareaForm.vue +++ b/ui/src/views/tareas/TareaForm.vue @@ -208,11 +208,10 @@ const handleSubmit = async () => { } else { await tareasStore.createTarea(payload); } - router.push({ name: 'TareasIndex' }); + router.push({ name: 'tareas-index' }); } catch (error) { console.error('Error saving tarea:', error); - const errorMsg = error.response?.data?.message || error.message || 'Ocurrió un error.'; - alert(`Error al guardar la tarea: ${errorMsg}`); + alert(`Error al guardar la tarea: ${error}`); } finally { isSubmitting.value = false; }