Cambio de contraseña desde dashboard de cualquier tipo de usuario

This commit is contained in:
2025-07-02 08:49:07 -06:00
parent 5eb96de51d
commit 6bc29f8786
23 changed files with 2013 additions and 236 deletions

View File

@@ -165,6 +165,39 @@ function desvincularAgente()
throw new Exception('Error al desactivar la relación: ' . print_r(sqlsrv_errors(), true));
}
// NUEVO: Verificar si el importador desvinculado tenía esta agencia como activa
$sqlVerificarAgenciaActiva = "
SELECT id_agencia_en_uso
FROM usuarios_sistema
WHERE id_usuario = ? AND id_agencia_en_uso = ?
";
$stmtVerificarActiva = sqlsrv_query($conn, $sqlVerificarAgenciaActiva,
[$relacion['id_importador'], $relacion['id_agencia']]);
if ($stmtVerificarActiva === false) {
throw new Exception('Error al verificar agencia activa: ' . print_r(sqlsrv_errors(), true));
}
if ($stmtVerificarActiva && sqlsrv_fetch_array($stmtVerificarActiva, SQLSRV_FETCH_ASSOC)) {
// Si tenía esta agencia como activa, quitársela
$sqlQuitarAgenciaActiva = "
UPDATE usuarios_sistema
SET id_agencia_en_uso = NULL
WHERE id_usuario = ?
";
$stmtQuitarActiva = sqlsrv_query($conn, $sqlQuitarAgenciaActiva, [$relacion['id_importador']]);
if ($stmtQuitarActiva === false) {
throw new Exception('Error al actualizar la agencia activa del importador: ' . print_r(sqlsrv_errors(), true));
}
}
// Limpiar statements
sqlsrv_free_stmt($stmtVerificarActiva);
if (isset($stmtQuitarActiva)) {
sqlsrv_free_stmt($stmtQuitarActiva);
}
// Confirmar transacción
sqlsrv_commit($conn);