ElDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt
Use this file to discover all available pages before exploring further.
GruposFamiliaresController administra los grupos familiares asociados a los alumnos de la residencia. Permite crear, editar, listar y eliminar grupos formados por padre, madre e hijos, vinculando los registros de alumnos vigentes como progenitores y manteniendo la relación de hijos a través de una cadena de IDs separados por |. La vista principal está protegida por el permiso gestion_grupos_familiares (Spatie); el resto de rutas solo requieren el middleware auth.
gestionarGrupoFamiliar
GET /gestionar-grupos-familiares
Renderiza la vista principal de gestión de grupos familiares (grupos-familiares.gestion). Precarga el listado de alumnos vigentes masculinos (padres) y femeninos (madres) para los selectores del formulario de creación.
Este endpoint devuelve una vista HTML, no JSON. Requiere el permiso
gestion_grupos_familiares (middleware Spatie).listarGruposFamiliares
POST /listar-grupos-familiares
Obtiene todos los grupos familiares de la base de datos, itera sobre ellos y construye una cuadrícula HTML de tarjetas de familia usando drawGroupFamily. El resultado se devuelve en el campo data envuelto en una fila Bootstrap.
true cuando el listado se generó correctamente.Mensaje confirmando que se generó el listado de grupos.
Fragmento HTML completo con una fila Bootstrap (
<div class="row">) conteniendo las tarjetas de todos los grupos familiares registrados.drawGroupFamily
(Método interno — no expuesto como ruta HTTP directa)
Construye la tarjeta HTML visual de un grupo familiar, con los nombres del padre y la madre y la tabla de hijos. Acepta el ancho de la columna Bootstrap como parámetro para adaptarse a distintos contextos (listado general: 4 columnas; modal de alumno: 12 columnas).
Instancia del modelo
GruposFamiliares con los campos uuid, padre, madre e hijos.Ancho de la columna Bootstrap (p. ej.
4 para el listado general, 12 para el modal de detalle de alumno).drawGroupFamily es un método auxiliar sin ruta HTTP asociada. Es invocado desde listarGruposFamiliares y desde AlumnosController::verGrupoFamiliarAlumno.padres
(Método interno — no expuesto como ruta HTTP directa)
Recupera el nombre completo de un alumno (padre o madre) por su ID y lo devuelve como cadena concatenada strNombre + strApellidos.
ID del alumno (
alumnos.numIdAlumno) cuyo nombre completo se desea obtener.padres es un método auxiliar sin ruta HTTP. Es invocado desde drawGroupFamily para obtener los nombres de padre y madre.hijos
(Método interno — no expuesto como ruta HTTP directa)
Recibe la cadena de IDs de hijos separados por |, itera sobre cada uno buscándolo en la tabla hijos y construye las filas HTML de la tabla con nombre completo, fecha de nacimiento y edad calculada con Carbon.
Cadena de IDs de hijos separados por
| (p. ej. "1|3|7"). Puede ser cadena vacía si el grupo no tiene hijos registrados.hijos es un método auxiliar sin ruta HTTP. Es invocado desde drawGroupFamily para construir la sección de hijos de la tarjeta familiar.eliminarGrupoFamiliar
POST /eliminar-grupo-familiar
Elimina permanentemente un grupo familiar de la base de datos buscándolo por su UUID.
UUID del grupo familiar a eliminar (
grupos_familiares.uuid).Siempre
true cuando la eliminación se ejecuta sin excepciones.Mensaje confirmando que el grupo familiar fue eliminado correctamente.
Cadena vacía.
editarGrupoFamiliar
POST /editar-grupo-familiar
Recupera los datos de un grupo familiar por UUID para pre-rellenar el formulario de edición. Devuelve los IDs de padre y madre, el objeto completo del grupo y una tabla HTML con el listado de hijos vinculados e iconos de eliminación individuales.
UUID del grupo familiar a editar (
grupos_familiares.uuid).true cuando los datos fueron recuperados correctamente.Mensaje descriptivo del resultado (
"Editar grupo familiar.").Objeto con las propiedades
padre (ID del alumno padre) y madre (ID de la alumna madre).Fragmento HTML con filas
<tr> de la tabla de hijos, incluyendo nombre, apellidos, DNI, fecha de nacimiento, sexo y botón de eliminación individual.Objeto completo del modelo
GruposFamiliares con todos sus campos.actualizarHijo
POST /actualizar-hijo
Guarda los cambios en el grupo familiar (incluyendo la adición de un nuevo hijo) delegando toda la lógica en el método estático GruposFamiliares::Guardar($request).
UUID del grupo familiar al que se asocia el hijo.
Nombres del hijo a registrar o actualizar.
Apellidos del hijo.
Número de documento de identidad del hijo.
Fecha de nacimiento del hijo (formato
YYYY-MM-DD).Sexo del hijo:
"H" para Hombre o "M" para Mujer.true si los datos se guardaron correctamente; false si no se pudieron guardar."Los datos se guardaron correctamente." o "Los datos no se pudieron guardar".eliminarHijo
POST /eliminar-hijo
Elimina un hijo de la tabla hijos y actualiza la cadena de IDs del campo hijos en el grupo familiar correspondiente, eliminando la referencia al ID borrado.
ID del hijo a eliminar (
hijos.id).UUID del grupo familiar del que se debe desligar el hijo (
grupos_familiares.uuid).Siempre
true cuando la operación finaliza sin excepciones.Mensaje confirmando que el hijo fue eliminado correctamente.
Cadena vacía.
guardarGrupoFamiliar
POST /guardar-grupo-familiar
Crea un nuevo grupo familiar o actualiza uno existente dependiendo de si se envía un UUID. En la creación, genera un UUID con Uuid::generate(), lo vincula al grupo y actualiza el campo uuid_grupo_familiar de ambos alumnos progenitores.
UUID del grupo familiar existente a actualizar. Enviar
null o no incluirlo para crear un nuevo grupo.ID del alumno que actúa como padre del grupo (
alumnos.numIdAlumno). Debe corresponder a un alumno vigente de sexo "H".ID de la alumna que actúa como madre del grupo (
alumnos.numIdAlumno). Debe corresponder a una alumna vigente de sexo "M".true si el grupo fue creado o actualizado correctamente; false si no pudo completarse la operación."El grupo familiar se actualizo correctamente." en caso de éxito, o "El grupo familiar no pudo ser creado." en caso de fallo.Cadena vacía.