Controlador: Añadir Departamento
Este controlador gestiona la creación de nuevos departamentos en la aplicación final.
Funcionalidad:
- Verifica que exista sesión activa.
- Gestiona el botón "Atrás" hacia el mantenimiento de departamentos.
- Valida los datos del formulario:
- codDepartamento (3 caracteres alfanuméricos)
- descDepartamento (4-255 caracteres)
- VolumenDeNegocio (float positivo)
- Comprueba que el código de departamento no exista.
- Crea el departamento mediante DepartamentoPDO\altaDepartamento.
- Redirige a mantenimiento si el alta es correcta.
Dependencias:
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Baja de usuario
Este controlador gestiona la eliminación del usuario actualmente autenticado en la aplicación.
Funcionalidad:
- Verifica que exista sesión activa.
- Permite volver a la página anterior mediante el botón "volver".
- Solicita confirmación escribiendo exactamente "SI".
- Si la confirmación es correcta:
- Obtiene el código del usuario desde la sesión.
- Elimina el usuario mediante UsuarioPDO\borrarUsuario.
- Redirige a la página de inicio público.
Dependencias:
- Clase UsuarioPDO
- Objeto usuario almacenado en sesión
- Arreglo $view para cargar el layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Cambio de contraseña
Este controlador permite al usuario autenticado modificar su contraseña.
Funcionalidad:
- Verifica que exista sesión activa.
- Permite cerrar sesión mediante el botón "atras".
- Permite volver a la página privada mediante el botón "volver".
- Valida:
- Contraseña actual
- Nueva contraseña
- Confirmación de nueva contraseña
- Comprueba que:
- La contraseña actual sea correcta.
- Las nuevas contraseñas coincidan.
- Actualiza la contraseña mediante UsuarioPDO\cambiarPassword.
Dependencias:
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Consultar Departamento
Este controlador permite visualizar los datos de un departamento previamente seleccionado en el mantenimiento de departamentos.
Funcionalidad:
- Permite volver a la página anterior mediante el botón "atras".
- Obtiene el código del departamento almacenado en sesión.
- Recupera el departamento mediante DepartamentoPDO\seleccionarDepartamento.
- Almacena el objeto departamento en sesión.
- Prepara un array asociativo con los datos para la vista.
Dependencias:
- Clase DepartamentoPDO
- Objeto Departamento y sus métodos getter
- Variable de sesión codDptoSeleccionado
- Arreglo $view para cargar el layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Consultar Usuario API (actualmente no activo, se utiliza la API de wsConsultarUsuario)
Este controlador permite visualizar los datos de un usuario previamente seleccionado en el mantenimiento de usuarios.
Funcionalidad:
- Permite volver a la página de mantenimiento de usuarios.
- Verifica que exista un usuario seleccionado en sesión.
- Prepara un array asociativo con los datos del usuario para su visualización en la vista.
Dependencias:
- Objeto Usuario almacenado en sesión (usuarioSeleccionado)
- Clase Usuario y sus métodos getter
- Arreglo $view para cargar el layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Detalle de usuario
Este controlador gestiona la navegación de la página de detalle en la aplicación Login/Logoff.
Funcionalidad:
- Verifica que exista sesión activa.
- Gestión del botón "Atrás":
- Actualiza paginaAnterior y paginaEnCurso según la sesión.
- Redirige a index.php.
- Si no se envía "atras", carga la vista principal (layout).
Dependencias:
- Variables de sesión $_SESSION
- Arreglo $view para cargar el layout
- Version
- 2.0
Controlador: Modificación de Departamento
Este controlador gestiona la visualización y edición de un departamento previamente seleccionado.
Funcionalidad:
- Verifica que exista sesión activa.
- Permite volver a la página anterior mediante el botón "Atrás".
- Obtiene el departamento seleccionado desde la sesión y la base de datos.
- Prepara los datos para la vista.
- Valida los campos del formulario al intentar cambiar datos:
- descDepartamento (alfanumérico, 1-255 caracteres)
- VolumenDeNegocio (float positivo)
- Si la validación es correcta, actualiza el departamento mediante DepartamentoPDO\editarDepartamento y redirige al mantenimiento.
Dependencias:
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Modificación de Usuario API
Este controlador gestiona la visualización y edición de un usuario previamente seleccionado en el mantenimiento de usuarios API.
Funcionalidad:
- Verifica que exista sesión activa.
- Permite volver a la página de mantenimiento de usuarios mediante "Atrás".
- Obtiene el usuario seleccionado desde sesión y base de datos.
- Prepara los datos del usuario para la vista.
- Valida los campos del formulario al intentar cambiar datos:
- DescUsuario (alfanumérico, 1-255 caracteres)
- Perfil (alfanumérico, 1-10 caracteres)
- Si la validación es correcta, actualiza el usuario mediante UsuarioPDO\editarUsuario y redirige al mantenimiento.
Dependencias:
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Baja de Departamento
Este controlador gestiona la eliminación de un departamento previamente seleccionado.
Funcionalidad:
- Verifica que exista sesión activa.
- Permite volver a la página anterior mediante el botón "volver".
- Solicita confirmación escribiendo exactamente "SI".
- Si la confirmación es correcta:
- Obtiene el código del departamento desde sesión.
- Elimina el departamento mediante DepartamentoPDO\borrarDepartamento.
- Redirige a la página de mantenimiento de departamentos.
Dependencias:
- Clase DepartamentoPDO
- Variables de sesión $_SESSION
- Arreglo $view para cargar el layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Gestión de Errores
Este controlador gestiona la visualización de errores en la aplicación.
Funcionalidad:
- Comprueba si existe un objeto de error en sesión ($_SESSION['error']).
- Si existe, extrae la información del error:
- Código
- Descripción
- Archivo
- Línea
- Página siguiente
- Permite volver a la página anterior mediante el botón "atras".
- Carga la vista de error (layout) con los datos preparados.
Dependencias:
- Objeto Error almacenado en sesión y sus métodos getter
- Variables de sesión $_SESSION
- Arreglo $view para cargar el layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Inicio Privado
Este controlador gestiona la página de inicio privado de la aplicación Login/Logoff.
Funcionalidad:
- Verifica que exista sesión activa.
- Determina si el usuario tiene perfil de administrador.
- Gestiona la navegación hacia:
- Mi cuenta
- Detalle de usuario
- Mantenimiento de departamentos
- Mantenimiento de usuarios API
- REST
- Error
- Gestiona el botón "Atrás" / cierre de sesión:
- Destruye la sesión y vuelve a la página anterior
- Prepara los datos del usuario para la vista ($datosUsuarioVista):
- Código de usuario
- Número de conexiones
- Fecha y hora de última conexión anterior
- Descripción del usuario
- Perfil administrador
- Carga la vista principal (layout) con los datos preparados.
Dependencias:
- Variables de sesión $_SESSION
- Clase Usuario para obtener información del usuario
- Clase DBPDO para consultas de error
- Arreglo $view para cargar el layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Inicio Público
Este controlador gestiona la navegación desde la página de inicio público de la aplicación Login/Logoff.
Funcionalidad:
- Comprueba si se ha enviado paginaDestino mediante formulario o enlace.
- Si se ha enviado:
- Actualiza paginaAnterior con la página en curso.
- Actualiza paginaEnCurso con el destino.
- Redirige a index.php para cargar la vista correspondiente.
- Si no se ha enviado paginaDestino, carga la vista principal (layout).
Dependencias:
- Variables de sesión $_SESSION
- Arreglo $view para cargar la vista layout principal
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Login Público
Este controlador gestiona el inicio de sesión desde la página pública de la aplicación.
Funcionalidad:
- Gestiona la navegación:
- Botón "Atrás" redirige a inicioPublico.
- Botón "Registro" redirige a la página de registro.
- Valida los datos del formulario de login:
- codUsuario (alfanumérico, 4-10 caracteres)
- password (alfanumérico, 4-10 caracteres, al menos 1 carácter especial)
- Si las credenciales son correctas:
- Carga el usuario en sesión (usuarioActualDWESAplicacionFinal).
- Genera un token API único si no existe y lo guarda en la base de datos.
- Redirige a la página de inicio privado (inicioPrivado).
- Si las credenciales son incorrectas, muestra errores en el formulario.
Dependencias:
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Mi Perfil
Este controlador gestiona la edición de los datos del usuario actual en la aplicación.
Funcionalidad:
- Valida sesión activa del usuario.
- Gestiona navegación:
- Botón "Atrás": destruye sesión y vuelve a la página anterior.
- Botón "Volver": vuelve al inicio privado.
- Botón "Borrar cuenta": redirige a la página de eliminación de cuenta.
- Botón "Cambiar contraseña": redirige a la página de cambio de password.
- Procesa formulario de edición de descripción del usuario:
- Valida el campo description como alfanumérico.
- Si es correcto, actualiza el usuario en la base de datos y en sesión.
- Actualiza array de datos del usuario ($datosUsuarioVista) para la vista.
Dependencias:
- Clase UsuarioPDO y métodos editarUsuario y validarUsuario
- Clase validacionFormularios
- Variables de sesión $_SESSION
- Arreglo $view para cargar la vista layout
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Mantenimiento de Departamentos
Este controlador gestiona la página de mantenimiento de departamentos en la aplicación. Permite navegar, buscar, filtrar y realizar acciones sobre departamentos.
Funcionalidad:
- Validación de sesión: si no hay usuario activo, redirige a Login.
- Navegación entre páginas:
- Atrás / Volver: vuelve a la página anterior.
- Ver / Editar / Eliminar / Dar de baja / Rehabilitar / Alta departamento.
- Búsqueda y filtrado:
- Validación del campo de búsqueda (solo letras).
- Guarda la búsqueda y estado seleccionado en sesión.
- Preparación de lista de departamentos según filtros y búsqueda.
Dependencias:
- Clase DepartamentoPDO y métodos buscarDepartamentos, bajaDepartamento, rehabilitarDepartamento.
- Clase validacionFormularios.
- Variables de sesión $_SESSION.
- Arreglo $view para cargar la vista layout.
- Author
- Cristian Mateos
- Version
- 2.0
Controlador: Mantenimiento de Usuarios (actualmente no activo, se utiliza la api)
Este controlador gestiona la página de mantenimiento de usuarios en la aplicación. Permite navegar, buscar, filtrar y realizar acciones sobre usuarios.
Funcionalidad:
- Validación de sesión: si no hay usuario activo, redirige a Login.
- Navegación entre páginas:
- Atrás / Volver: vuelve a la página anterior.
- Ver / Editar / Eliminar / Baja de usuario.
- Búsqueda y filtrado:
- Validación del campo de búsqueda (solo letras, sin números).
- Guarda la búsqueda en sesión.
- Preparación de lista de usuarios según la búsqueda.
Dependencias:
- Clase UsuarioPDO y métodos seleccionarUsuario, buscarUsuarios.
- Clase validacionFormularios.
- Variables de sesión $_SESSION.
- Arreglo $view para cargar la vista layout.
- Author
- Cristian Mateos
- Version
- 1.0
Controlador: Mantenimiento de Usuarios API
Este controlador gestiona la navegación de la página de mantenimiento de usuarios de tipo API en la aplicación Login/Logoff.
Funcionalidad:
- Valida sesión: si no hay usuario activo, redirige a Login.
- Navegación entre páginas:
- Atrás: vuelve a la página anterior, reinicia sesión.
- Volver: vuelve a la página anterior.
- Carga la vista principal (layout).
Dependencias:
- Variables de sesión $_SESSION.
- Arreglo $view para cargar la vista layout.
- Author
- Cristian Mateos
- Version
- 1.0
Controlador: Registro
Este controlador gestiona el registro de nuevos usuarios en la aplicación Login/Logoff.
Funcionalidad:
- Navegación:
- Atrás: vuelve a la página anterior.
- Registro de usuario:
- Valida campos: código de usuario, contraseña, descripción y pregunta de seguridad.
- Comprueba si el código de usuario ya existe.
- Si no existe, crea el usuario y redirige a inicio privado.
- Si ocurre un error, guarda el mensaje en sesión y redirige a login.
Dependencias:
- Clase UsuarioPDO para operaciones sobre usuarios.
- Constante RESPUESTA_SEGURIDAD para validar la pregunta de seguridad.
- Variables de sesión $_SESSION.
- Arreglo $view para cargar la vista layout.
- Author
- Cristian Mateos
- Version
- 1.0
Controlador: API Externa
Gestiona la visualización de la foto de la NASA y razas de perros. Permite seleccionar fecha y raza, ampliar detalles y navegar entre páginas.
Funcionalidad:
- Validación de sesión.
- Inicialización de fecha y raza si no existen en sesión.
- Navegación: ampliar detalles de NASA o Dog, o volver a la página anterior.
- Validación de entradas: fecha y raza seleccionada.
- Consumo de APIs externas:
- NASA: obtiene la foto del día según la fecha seleccionada.
- Dog API: obtiene la imagen y listado de razas.
- Guarda datos obtenidos en sesión para ser usados en la vista.
Dependencias:
- Author
- Cristian Mateos
- Version
- 1.0
Controlador: WIP
Este controlador gestiona la página WIP (Work In Progress) de la aplicación. Su función principal es permitir la navegación hacia otra página si se envía paginaDestino, o retroceder si se pulsa "Atrás".
Funcionalidad:
- Botón "Atrás": vuelve a la página anterior almacenada en sesión.
- Navegación a otra página: si se envía paginaDestino, actualiza la página anterior y la página en curso y redirige.
- Si no hay acción, simplemente carga el layout principal.
Dependencias:
- Variables de sesión $_SESSION
- Arreglo $view para cargar la vista layout
- Author
- Cristian Mateos
- Version
- 1.0