feat: Añadir panel especial para coordinadores en ayudante.php
- Añadir sección especial para coordinadores con estadísticas y acciones rápidas - Integrar botones de gestión directa en todas las secciones de turnos - Permitir acceso coordinador sin redirección - Mostrar acciones específicas según rol (admin vs coordinador vs ayudante) - Añadir barra final de acciones para coordinadores
This commit is contained in:
@@ -18,6 +18,8 @@ $horariosModel = new DiasHorarios();
|
||||
$asignacionModel = new Asignacion();
|
||||
$db = Database::getInstance()->getConnection();
|
||||
|
||||
|
||||
|
||||
$horarios = $horariosModel->getActivos();
|
||||
$asignacionActual = $asignacionModel->getAsignacionActual();
|
||||
|
||||
@@ -73,8 +75,8 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
// Si es administrador, usar el navbar del admin
|
||||
if ($auth->isAdmin()) {
|
||||
// Si es administrador o coordinador, usar el navbar del admin
|
||||
if ($auth->isAdmin() || $auth->isCoordinador()) {
|
||||
include BASE_PATH . '/public/partials/navbar.php';
|
||||
} else {
|
||||
// Si es ayudante, usar navbar simple
|
||||
@@ -94,7 +96,7 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
<div class="container mt-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<div>
|
||||
<?php if ($auth->isAdmin()): ?>
|
||||
<?php if ($auth->isAdmin() || $auth->isCoordinador()): ?>
|
||||
<h2 class="mb-1">👥 Vista de Ayudante</h2>
|
||||
<p class="text-muted mb-0">Viendo la interfaz que ven los ayudantes</p>
|
||||
<?php else: ?>
|
||||
@@ -102,7 +104,7 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div>
|
||||
<?php if ($auth->isAdmin()): ?>
|
||||
<?php if ($auth->isAdmin() || $auth->isCoordinador()): ?>
|
||||
<a href="/admin/asignaciones.php" class="btn btn-outline-secondary btn-sm me-2">
|
||||
⚙️ Gestionar Turnos
|
||||
</a>
|
||||
@@ -113,6 +115,55 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<!-- SECCIÓN ESPECIAL PARA COORDINADORES -->
|
||||
<div class="card shadow-sm mb-4 border-success">
|
||||
<div class="card-header bg-success text-white">
|
||||
<h5 class="mb-0">🎯 Panel de Coordinador</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
<h6 class="mb-2">⚡ Acciones Rápidas</h6>
|
||||
<div class="d-grid gap-2">
|
||||
<a href="/admin/asignaciones.php" class="btn btn-primary btn-sm">
|
||||
🔄 Gestionar Turnos
|
||||
</a>
|
||||
<a href="/admin/usuarios.php" class="btn btn-success btn-sm">
|
||||
👥 Agregar Ayudante
|
||||
</a>
|
||||
<a href="/admin/asignaciones_completo.php#reordenar" class="btn btn-outline-primary btn-sm">
|
||||
📋 Modificar Orden
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<h6 class="mb-2">📈 Estadísticas</h6>
|
||||
<div class="row text-center">
|
||||
<div class="col-6">
|
||||
<div class="border rounded p-2 mb-2">
|
||||
<div class="h4 mb-0 text-primary"><?= count($ayudantes) ?></div>
|
||||
<small class="text-muted">Ayudantes</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="border rounded p-2 mb-2">
|
||||
<div class="h4 mb-0 text-success"><?= count($misAsignacionesFuturas) ?></div>
|
||||
<small class="text-muted">Tus turnos</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a href="/export-pdf.php" target="_blank" class="btn btn-danger btn-sm">
|
||||
📄 Exportar PDF
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
$hoy = new DateTime();
|
||||
$diaSemana = (int)$hoy->format('w');
|
||||
@@ -129,25 +180,58 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
Del <?= date('d/m/y', strtotime($asignacionEstaSemana['semana_inicio'])) ?>
|
||||
al <?= date('d/m/y', strtotime($asignacionEstaSemana['semana_fin'])) ?>
|
||||
</div>
|
||||
<?php elseif ($asignacionEstaSemana): ?>
|
||||
<div class="alert alert-secondary mb-4">
|
||||
<strong>Turno esta semana:</strong> <?= htmlspecialchars($asignacionEstaSemana['nombre']) ?><br>
|
||||
<?php if (!empty($misAsignacionesFuturas)): ?>
|
||||
Tu proximo turno: <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['inicio'])) ?>
|
||||
al <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['fin'])) ?>
|
||||
<?php else: ?>
|
||||
Tu proximo turno sera en las proximas semanas.
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php elseif ($asignacionEstaSemana): ?>
|
||||
<div class="alert alert-secondary mb-4">
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<strong>Turno esta semana:</strong> <?= htmlspecialchars($asignacionEstaSemana['nombre']) ?><br>
|
||||
<?php if (!empty($misAsignacionesFuturas)): ?>
|
||||
Tu proximo turno: <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['inicio'])) ?>
|
||||
al <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['fin'])) ?>
|
||||
<?php else: ?>
|
||||
Tu proximo turno sera en las proximas semanas.
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<div class="text-end">
|
||||
<a href="/admin/asignaciones.php" class="btn btn-sm btn-outline-primary">
|
||||
🔄 Cambiar
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php elseif (!empty($misAsignacionesFuturas)): ?>
|
||||
<div class="alert alert-info mb-4">
|
||||
<strong>Proximo turno:</strong><br>
|
||||
Del <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['inicio'])) ?>
|
||||
al <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['fin'])) ?>
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<strong>Proximo turno:</strong><br>
|
||||
Del <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['inicio'])) ?>
|
||||
al <?= date('d/m/y', strtotime($misAsignacionesFuturas[0]['semana']['fin'])) ?>
|
||||
</div>
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<div class="text-end">
|
||||
<a href="/admin/asignaciones_completo.php" class="btn btn-sm btn-outline-primary">
|
||||
📋 Gestionar
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="alert alert-warning mb-4">
|
||||
No hay turnos asignados para las proximas semanas.
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
No hay turnos asignados para las proximas semanas.
|
||||
</div>
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<div class="text-end">
|
||||
<a href="/admin/asignaciones.php" class="btn btn-sm btn-success">
|
||||
🚀 Generar Turnos
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
@@ -265,6 +349,9 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
<th class="text-center">Fecha 2</th>
|
||||
<th class="text-center">Fecha 3</th>
|
||||
<th class="text-center">Fecha 4</th>
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<th class="text-center">Acciones</th>
|
||||
<?php endif; ?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -299,6 +386,13 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<?php endfor; ?>
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<td class="text-center">
|
||||
<a href="/admin/asignaciones_completo.php" class="btn btn-sm btn-outline-primary">
|
||||
🔄 Gestionar
|
||||
</a>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
@@ -306,6 +400,39 @@ $domingo->modify('-' . (int)$domingo->format('w') . ' days');
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($auth->isCoordinador()): ?>
|
||||
<!-- BARRA DE ACCIONES PARA COORDINADORES -->
|
||||
<div class="card mt-4 shadow-sm border-success">
|
||||
<div class="card-header bg-success text-white">
|
||||
<h5 class="mb-0">🎯 Acciones de Coordinador</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row text-center">
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="/admin/coordinador.php" class="btn btn-success w-100">
|
||||
📊 Mi Panel
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="/admin/asignaciones.php" class="btn btn-primary w-100">
|
||||
🔄 Gestionar Turnos
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="/admin/usuarios.php" class="btn btn-outline-success w-100">
|
||||
👥 Agregar Ayudante
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="/export-pdf.php" target="_blank" class="btn btn-danger w-100">
|
||||
📄 Exportar PDF
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user