feat: limitar permisos de coordinador en usuarios y habilitar panel de generacion en rotaciones

This commit is contained in:
2026-02-02 19:15:55 -06:00
parent 300a5bede4
commit b73cd6a32f
6 changed files with 69 additions and 30 deletions

View File

@@ -89,18 +89,26 @@ $users = $controller->index(); // Maneja POST internamente y retorna lista para
</td>
<td>
<div class="flex">
<button onclick='editUser(<?= json_encode($u) ?>)' class="btn btn-sm btn-secondary">Editar</button>
<?php
$canManage = $_SESSION['role'] === 'admin' || ($_SESSION['role'] === 'coordinador' && $u['role'] !== 'admin');
?>
<form method="POST" style="display:inline;">
<input type="hidden" name="csrf_token" value="<?= csrfToken() ?>">
<input type="hidden" name="action" value="toggle">
<input type="hidden" name="id" value="<?= $u['id'] ?>">
<?php if ($u['active']): ?>
<button type="submit" class="btn btn-sm btn-danger">Desactivar</button>
<?php else: ?>
<button type="submit" class="btn btn-sm btn-success">Activar</button>
<?php endif; ?>
</form>
<?php if ($canManage): ?>
<button onclick='editUser(<?= json_encode($u) ?>)' class="btn btn-sm btn-secondary">Editar</button>
<form method="POST" style="display:inline;">
<input type="hidden" name="csrf_token" value="<?= csrfToken() ?>">
<input type="hidden" name="action" value="toggle">
<input type="hidden" name="id" value="<?= $u['id'] ?>">
<?php if ($u['active']): ?>
<button type="submit" class="btn btn-sm btn-danger">Desactivar</button>
<?php else: ?>
<button type="submit" class="btn btn-sm btn-success">Activar</button>
<?php endif; ?>
</form>
<?php else: ?>
<span class="badge badge-secondary">Solo lectura</span>
<?php endif; ?>
</div>
</td>
</tr>
@@ -139,7 +147,9 @@ $users = $controller->index(); // Maneja POST internamente y retorna lista para
<select name="role" class="form-control">
<option value="ayudante">Ayudante</option>
<option value="coordinador">Coordinador</option>
<option value="admin">Administrador</option>
<?php if ($_SESSION['role'] === 'admin'): ?>
<option value="admin">Administrador</option>
<?php endif; ?>
</select>
</div>
@@ -180,7 +190,9 @@ $users = $controller->index(); // Maneja POST internamente y retorna lista para
<select name="role" id="edit_role" class="form-control">
<option value="ayudante">Ayudante</option>
<option value="coordinador">Coordinador</option>
<option value="admin">Administrador</option>
<?php if ($_SESSION['role'] === 'admin'): ?>
<option value="admin">Administrador</option>
<?php endif; ?>
</select>
</div>