Skip to main content

Documentation 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.

El 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.
success
boolean
true cuando el listado se generó correctamente.
message
string
Mensaje confirmando que se generó el listado de grupos.
data
string
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).
grupo
object
Instancia del modelo GruposFamiliares con los campos uuid, padre, madre e hijos.
col
integer
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
integer
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.
hijos
string
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
string
required
UUID del grupo familiar a eliminar (grupos_familiares.uuid).
success
boolean
Siempre true cuando la eliminación se ejecuta sin excepciones.
message
string
Mensaje confirmando que el grupo familiar fue eliminado correctamente.
data
string
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
string
required
UUID del grupo familiar a editar (grupos_familiares.uuid).
success
boolean
true cuando los datos fueron recuperados correctamente.
message
string
Mensaje descriptivo del resultado ("Editar grupo familiar.").
padres
object
Objeto con las propiedades padre (ID del alumno padre) y madre (ID de la alumna madre).
table
string
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.
grupo
object
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
string
required
UUID del grupo familiar al que se asocia el hijo.
nombres
string
required
Nombres del hijo a registrar o actualizar.
apellidos
string
required
Apellidos del hijo.
dni
string
required
Número de documento de identidad del hijo.
fecha_nacimiento
date
required
Fecha de nacimiento del hijo (formato YYYY-MM-DD).
sexo
string
required
Sexo del hijo: "H" para Hombre o "M" para Mujer.
success
boolean
true si los datos se guardaron correctamente; false si no se pudieron guardar.
message
string
"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.
idHijo
integer
required
ID del hijo a eliminar (hijos.id).
uuid
string
required
UUID del grupo familiar del que se debe desligar el hijo (grupos_familiares.uuid).
success
boolean
Siempre true cuando la operación finaliza sin excepciones.
message
string
Mensaje confirmando que el hijo fue eliminado correctamente.
data
string
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
string
UUID del grupo familiar existente a actualizar. Enviar null o no incluirlo para crear un nuevo grupo.
padre
integer
required
ID del alumno que actúa como padre del grupo (alumnos.numIdAlumno). Debe corresponder a un alumno vigente de sexo "H".
madre
integer
required
ID de la alumna que actúa como madre del grupo (alumnos.numIdAlumno). Debe corresponder a una alumna vigente de sexo "M".
success
boolean
true si el grupo fue creado o actualizado correctamente; false si no pudo completarse la operación.
message
string
"El grupo familiar se actualizo correctamente." en caso de éxito, o "El grupo familiar no pudo ser creado." en caso de fallo.
data
string
Cadena vacía.

Build docs developers (and LLMs) love