Cambio de contraseña desde dashboard de cualquier tipo de usuario
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user