feat(tramites): involucrados pueden editar y eliminar horas también
Antes solo el autor original de la entrada (o un Socio/Admin) podía editar/eliminar registros de horas. Ahora cualquiera con acceso al trámite (creador, abogado solicitante, involucrado, socio, admin) puede editar/eliminar horas de cualquier entrada — útil cuando un involucrado nota un error en una hora registrada por otro. * tramites/api.php: removido el check (autor_email == me OR isSocio) de update_hours y delete_hours. canView() sigue siendo el único gate, lo cual es consistente con add_hours. * tramites.html: los botones ✎ y ✕ ahora siempre se muestran en cada entrada de horas. El backend protege la operación.
This commit is contained in:
@@ -369,9 +369,8 @@ try {
|
||||
|
||||
$tramiteId = (int)$row['tramite_id'];
|
||||
if (!canView($pdo, $tramiteId)) err('No tienes acceso al trámite', 403);
|
||||
if (!Auth::isSocio() && $row['autor_email'] !== $user['email']) {
|
||||
err('Solo quien registró las horas (o un Socio/Admin) puede editarlas', 403);
|
||||
}
|
||||
// Cualquiera que pueda ver el trámite (creador, abogado solicitante,
|
||||
// involucrado, o socio/admin) puede editar las horas registradas.
|
||||
|
||||
$abog = trim((string)($b['abogado'] ?? $row['abogado']));
|
||||
$hrs = (float) ($b['hrs'] ?? $row['hrs']);
|
||||
@@ -400,9 +399,7 @@ try {
|
||||
|
||||
$tramiteId = (int)$row['tramite_id'];
|
||||
if (!canView($pdo, $tramiteId)) err('No tienes acceso al trámite', 403);
|
||||
if (!Auth::isSocio() && $row['autor_email'] !== $user['email']) {
|
||||
err('Solo quien registró las horas (o un Socio/Admin) puede eliminarlas', 403);
|
||||
}
|
||||
// Misma regla que update_hours: cualquiera con acceso al trámite puede eliminar.
|
||||
|
||||
$pdo->prepare('DELETE FROM tramites_hours WHERE id = :id')->execute([':id' => $hourId]);
|
||||
$pdo->prepare('UPDATE tramites_legales SET actualizado_por = :u WHERE id = :id')
|
||||
|
||||
Reference in New Issue
Block a user