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.
ResidenciaController gestiona la infraestructura física de la residencia universitaria de Pensión a la Medida. Abarca el ciclo completo de habitaciones —creación, edición, listado y eliminación—, la consulta de huéspedes actualmente alojados con el detalle del mobiliario de cada habitación, y el catálogo de mobiliarios que pueden asignarse a las habitaciones. Todas las rutas están bajo el middleware auth; el acceso a la vista principal requiere el permiso gestion_residencia.
gestionResidencia
GET /gestion-residencia
Renderiza la vista principal de gestión de la residencia (residencia.gestion), precargando el catálogo completo de mobiliarios disponibles para su uso en los formularios de alta y edición de habitaciones.
Este endpoint devuelve una vista HTML, no JSON. Requiere el permiso
gestion_residencia (middleware Spatie).listarHabitaciones
POST /listar-habitaciones
Devuelve el listado completo de habitaciones en formato DataTables. Cada fila incluye botones de acción para editar y eliminar la habitación.
Array de habitaciones en formato DataTables. Cada registro expone todos los campos del modelo
Habitaciones (id, num_habitacion, tipo, capacidad, piso, mobiliario, observaciones) más la columna calculada action con los botones HTML de edición y eliminación.Total de habitaciones registradas en la base de datos.
Total de habitaciones tras aplicar el filtro de búsqueda de DataTables.
getDataHabitacion
POST /editar-habitacion
Recupera todos los datos de una habitación específica por su ID para pre-rellenar el formulario de edición.
ID de la habitación a consultar (
habitaciones.id).true cuando la habitación fue encontrada y los datos fueron recuperados correctamente.Mensaje descriptivo del resultado.
Objeto con todos los campos de la habitación:
id, num_habitacion, tipo, capacidad, piso, mobiliario (IDs separados por |), observaciones.actualizarHabitaciones
POST /actualizar-habitaciones
Crea o actualiza una habitación mediante updateOrCreate. Los IDs del mobiliario seleccionado se concatenan con el separador | antes de ser almacenados. Si se envía un id_hab existente, actualiza el registro; si el ID es null o no existe, crea uno nuevo.
ID de la habitación a actualizar. Enviar
null o no incluirlo para crear una nueva habitación.Número o identificador de la habitación (p. ej.
"101", "3A").Tipo de habitación (p. ej.
"Individual", "Doble", "Suite").Capacidad máxima de la habitación (número de personas).
Piso en el que se encuentra la habitación.
Array de IDs de mobiliarios asignados a la habitación. Se serializa internamente como
"1|2|5".Observaciones opcionales sobre la habitación.
Siempre
true cuando la operación se completa sin excepciones."Datos de la habitación actualizados correctamente." en caso de actualización, o "Habitación creada correctamente." en caso de creación.Cadena vacía.
eliminarHabitacion
POST /eliminar-habitacion
Elimina permanentemente una habitación de la base de datos por su ID.
ID de la habitación a eliminar (
habitaciones.id).Siempre
true cuando la eliminación se ejecuta sin excepciones.Mensaje confirmando que la habitación fue eliminada correctamente.
Cadena vacía.
listarHuespedes
POST /listar-huespedes
Devuelve en formato DataTables el listado de alumnos que tienen una habitación asignada actualmente, haciendo join entre alumnos y hospedajes a través del UUID. Incluye una columna de detalle con el mobiliario de la habitación renderizado como lista.
Array de huéspedes en formato DataTables. Cada fila incluye
strNombre, strApellidos, num_habitacion, desde, hasta, uuid_habitacion, la columna calculada detalle (tarjeta HTML con el mobiliario de la habitación) y action con el botón de edición.Total de alumnos con hospedaje activo.
Total de huéspedes tras aplicar el filtro de búsqueda de DataTables.
DetalleHabitacion
(Método interno — no expuesto como ruta HTTP directa)
Construye y devuelve un fragmento HTML (<div class="card">) con la lista de mobiliario asignado a una habitación. Recibe el número de habitación como parámetro ($num_habitacion), consulta la tabla habitaciones para obtener la cadena de IDs de mobiliario separados por |, y genera un elemento <li> por cada mobiliario encontrado en el catálogo. Se invoca internamente desde listarHuespedes para rellenar la columna detalle de cada fila de la DataTable.
DetalleHabitacion no tiene una ruta registrada en web.php. Es un método public auxiliar invocado con $this->DetalleHabitacion($row->num_habitacion) dentro del callback de la columna detalle de listarHuespedes.listarMobiliarios
POST /listar-mobiliarios
Devuelve el catálogo completo de mobiliarios en formato DataTables con botones de acción para editar y eliminar cada elemento.
Array de mobiliarios en formato DataTables. Cada fila incluye
id, tipo, descripcion, status y la columna calculada action con los botones HTML de edición y eliminación.Total de mobiliarios en el catálogo.
Total de mobiliarios tras aplicar el filtro de búsqueda de DataTables.
editarMobiliario
POST /editar-mobiliario
Recupera los datos completos de un mobiliario específico por su ID para pre-rellenar el formulario de edición.
ID del mobiliario a consultar (
mobiliarios.id).true cuando el mobiliario fue encontrado y sus datos recuperados correctamente.Mensaje descriptivo del resultado.
Objeto con los campos del mobiliario:
id, tipo, descripcion, status.actualizarMobiliarios
POST /actualizar-mobiliarios
Crea o actualiza un mobiliario en el catálogo mediante updateOrCreate. Si se proporciona un id_mobiliario existente actualiza el registro; si no existe o es null, crea uno nuevo.
ID del mobiliario a actualizar. Omitir o enviar
null para crear un nuevo mobiliario.Categoría o tipo del mobiliario (p. ej.
"Cama", "Escritorio", "Armario").Descripción detallada del mobiliario.
Estado del mobiliario:
1 para activo, 0 para inactivo.Siempre
true cuando la operación finaliza sin excepciones."Datos del mobiliario actualizaron correctamente." en caso de actualización, o "Mobiliario creado correctamente." en caso de creación.Cadena vacía.
eliminarMobiliario
POST /eliminar-mobiliario
Elimina permanentemente un mobiliario del catálogo por su ID.
ID del mobiliario a eliminar (
mobiliarios.id).Siempre
true cuando la eliminación se ejecuta sin excepciones.Mensaje confirmando que el mobiliario fue eliminado correctamente.
Cadena vacía.