File "ConsultaController.php"
Full Path: C:/wamp64/www/Asistencia_Capacitacion/Controladores/ConsultaController.php
File size: 2.6 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// File: Controladores/ConsultaController.php
require_once 'Controladores/BaseController.php';
// Reutilizamos el modelo de Asistencia
require_once 'Modelos/AsistenciaModel.php';
class ConsultaController extends BaseController {
private $asistenciaModel;
private $empresaNombre;
public function __construct() {
// Verificar sesión al inicio del controlador
if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) {
$this->redirect(BASE_URL . '/index.php?url=login/index');
}
$this->asistenciaModel = new AsistenciaModel();
// --- CORREGIDO: Lógica correcta para verificar la empresa en sesión ---
if (!isset($_SESSION['empresa']) || empty(trim($_SESSION['empresa']))) {
die("Error: El nombre de la empresa del usuario no se encontró en la sesión. Inicie sesión nuevamente.");
}
$this->empresaNombre = $_SESSION['empresa'];
// ----------------------------------------
}
// Acción principal para mostrar la tabla de consulta (GET /index.php?url=consulta/index)
public function index() {
// 1. Obtener la variable de la URL (ver_todos)
$verTodos = isset($_GET['ver_todos']) && $_GET['ver_todos'] == '1';
// 2. Obtener parámetros de filtro desde GET
$filtros = [
'cedula' => isset($_GET['cedula']) ? trim($_GET['cedula']) : '',
'capacitacion' => isset($_GET['capacitacion']) ? trim($_GET['capacitacion']) : '',
'fecha_desde' => isset($_GET['fecha_desde']) ? trim($_GET['fecha_desde']) : '',
'fecha_hasta' => isset($_GET['fecha_hasta']) ? trim($_GET['fecha_hasta']) : '',
];
// 3. Delegar la obtención de datos al Modelo
// --- CORREGIDO: Parámetros en el orden correcto ---
// getRegistrosAsistencia($nombreEmpresa, $verTodos, $filtros)
$registros = $this->asistenciaModel->getRegistrosAsistencia($this->empresaNombre, $verTodos, $filtros);
// 4. Obtener las capacitaciones de la empresa para el dropdown del filtro
$capacitaciones = $this->asistenciaModel->getCapacitaciones($this->empresaNombre);
// 5. Crear el array de datos para la Vista
$data = [
'registros' => $registros,
'verTodos' => $verTodos,
'fechaConsulta' => date('d/m/Y H:i:s'),
'filtros' => $filtros,
'capacitaciones' => $capacitaciones,
];
// 6. Cargar la vista de consulta
$this->view('consulta/index', $data);
}
}