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 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.
data
array
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.
recordsTotal
integer
Total de habitaciones registradas en la base de datos.
recordsFiltered
integer
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_hab
integer
required
ID de la habitación a consultar (habitaciones.id).
success
boolean
true cuando la habitación fue encontrada y los datos fueron recuperados correctamente.
message
string
Mensaje descriptivo del resultado.
data
object
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_hab
integer
ID de la habitación a actualizar. Enviar null o no incluirlo para crear una nueva habitación.
num_hab
string
required
Número o identificador de la habitación (p. ej. "101", "3A").
tipo_hab
string
required
Tipo de habitación (p. ej. "Individual", "Doble", "Suite").
cap_hab
integer
required
Capacidad máxima de la habitación (número de personas).
pis_hab
integer
required
Piso en el que se encuentra la habitación.
mobiliario_hab
array
required
Array de IDs de mobiliarios asignados a la habitación. Se serializa internamente como "1|2|5".
obs_hab
string
Observaciones opcionales sobre la habitación.
success
boolean
Siempre true cuando la operación se completa sin excepciones.
message
string
"Datos de la habitación actualizados correctamente." en caso de actualización, o "Habitación creada correctamente." en caso de creación.
data
string
Cadena vacía.

eliminarHabitacion

POST /eliminar-habitacion Elimina permanentemente una habitación de la base de datos por su ID.
id_hab
integer
required
ID de la habitación a eliminar (habitaciones.id).
success
boolean
Siempre true cuando la eliminación se ejecuta sin excepciones.
message
string
Mensaje confirmando que la habitación fue eliminada correctamente.
data
string
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.
data
array
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.
recordsTotal
integer
Total de alumnos con hospedaje activo.
recordsFiltered
integer
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.
data
array
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.
recordsTotal
integer
Total de mobiliarios en el catálogo.
recordsFiltered
integer
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_mobiliario
integer
required
ID del mobiliario a consultar (mobiliarios.id).
success
boolean
true cuando el mobiliario fue encontrado y sus datos recuperados correctamente.
message
string
Mensaje descriptivo del resultado.
data
object
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_mobiliario
integer
ID del mobiliario a actualizar. Omitir o enviar null para crear un nuevo mobiliario.
tipo_mobiliario
string
required
Categoría o tipo del mobiliario (p. ej. "Cama", "Escritorio", "Armario").
descripcion_mobiliario
string
required
Descripción detallada del mobiliario.
status_mobiliario
integer
required
Estado del mobiliario: 1 para activo, 0 para inactivo.
success
boolean
Siempre true cuando la operación finaliza sin excepciones.
message
string
"Datos del mobiliario actualizaron correctamente." en caso de actualización, o "Mobiliario creado correctamente." en caso de creación.
data
string
Cadena vacía.

eliminarMobiliario

POST /eliminar-mobiliario Elimina permanentemente un mobiliario del catálogo por su ID.
id_mobiliario
integer
required
ID del mobiliario a eliminar (mobiliarios.id).
success
boolean
Siempre true cuando la eliminación se ejecuta sin excepciones.
message
string
Mensaje confirmando que el mobiliario fue eliminado correctamente.
data
string
Cadena vacía.

Build docs developers (and LLMs) love