Saltar a contenido

Vistas y acciones

Las vistas presentan información y las acciones modifican datos o ejecutan procesos. La separación ayuda a aplicar permisos y evita que una pantalla termine concentrando lógica no relacionada.

Vistas

Una vista declarada como reservas.list se abre dentro del contexto del módulo. La forma pública de referencia es:

router.php?view=reservas.list

La URL exacta puede estar detrás de un alias del tenant o de una navegación interna, por lo que los enlaces entre superficies deben generarse con el helper de navegación disponible y no construirse a mano con rutas privadas.

Una vista debe:

  • funcionar al abrirse directamente;
  • funcionar cuando se inserta mediante una actualización parcial;
  • mostrar un estado vacío y estados de error comprensibles;
  • no asumir que el usuario tiene permisos de escritura;
  • escapar los datos antes de presentarlos.

Acciones

Una acción se invoca en el contexto de una vista y acepta únicamente los métodos declarados:

router.php?view=reservas.list&action=reservas.create

Para una mutación web, la acción debe validar autenticación, permisos, método, token de formulario y datos recibidos. Devuelve una respuesta adecuada al tipo de petición: fragmento HTML para una actualización parcial o respuesta estructurada para una integración.

Permisos

Usa permisos específicos, por ejemplo:

reservas.read
reservas.write
reservas.manage

La lectura no implica escritura. Las operaciones administrativas deben tener un permiso separado y una descripción visible para quien configure el módulo.

Estados que debe contemplar una acción

  • éxito;
  • datos incompletos o inválidos;
  • falta de permiso;
  • recurso inexistente;
  • conflicto por duplicado o versión;
  • servicio externo no disponible.

No devuelvas trazas, consultas, rutas del servidor ni secretos al navegador. Registra solo la información operativa necesaria y muestra un mensaje accionable.