Aprobación de Agencias
This commit is contained in:
@@ -463,13 +463,14 @@ function aprobarAgencias()
|
||||
|
||||
function aprobar_agencia()
|
||||
{
|
||||
$conn = getConnection();
|
||||
$conn = getConnection();
|
||||
|
||||
$id = $_GET['id'] ?? null;
|
||||
$usuario_id = $_SESSION['usuario_id'];
|
||||
|
||||
if (!$id || !is_numeric($id)) {
|
||||
die("❌ ID inválido.");
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=invalid_id");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Obtener la solicitud
|
||||
@@ -477,8 +478,9 @@ function aprobar_agencia()
|
||||
$stmt = sqlsrv_query($conn, $sql, [$id]);
|
||||
$solicitud = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
|
||||
|
||||
if (!$solicitud) {
|
||||
die("❌ Solicitud no encontrada.");
|
||||
if (!$solicitud) {
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=invalid_request");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Validar que no haya sido aprobada ya
|
||||
@@ -511,6 +513,7 @@ function aprobar_agencia()
|
||||
// Insertar en agencias_aduanales
|
||||
$sqlInsert = "INSERT INTO agencias_aduanales
|
||||
(nombre_agencia, rfc_agencia, direccion, telefono, email, creado_en, creado_por)
|
||||
OUTPUT INSERTED.id_agencia
|
||||
VALUES (?, ?, ?, ?, ?, GETDATE(), ?)
|
||||
";
|
||||
$stmtInsert = sqlsrv_query($conn, $sqlInsert, [
|
||||
@@ -518,37 +521,38 @@ function aprobar_agencia()
|
||||
]);
|
||||
|
||||
if (!$stmtInsert) {
|
||||
die("❌ Error al crear agencia: " . print_r(sqlsrv_errors(), true));
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=save_agencia_failed");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Obtener ID de la agencia recién creada
|
||||
$sqlGetAgenciaId = "SELECT SCOPE_IDENTITY() AS id_agencia";
|
||||
$stmtGetAgenciaId = sqlsrv_query($conn, $sqlGetAgenciaId);
|
||||
$agenciaIdRow = sqlsrv_fetch_array($stmtGetAgenciaId, SQLSRV_FETCH_ASSOC);
|
||||
$id_agencia = $agenciaIdRow['id_agencia'] ?? null;
|
||||
$agenciaIdRow = sqlsrv_fetch_array($stmtInsert, SQLSRV_FETCH_ASSOC);
|
||||
$id_agencia = $agenciaIdRow['id_agencia'] ?? null;
|
||||
|
||||
if (!$id_agencia) {
|
||||
die("❌ No se pudo obtener el ID de la agencia recién creada.");
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=get_id_failed");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Insertar en usuarios_sistema
|
||||
$sqlInsert2 = "INSERT INTO usuarios_sistema (nombre, email, password_hash, tipo_usuario, activo, creado_en, dos_factores, creado_por)
|
||||
OUTPUT INSERTED.id_usuario
|
||||
VALUES (?, ?, ?, ?, 1, GETDATE(), 0, ?)
|
||||
";
|
||||
$stmtInsert2 = sqlsrv_query($conn, $sqlInsert2, [$admin_name_encrypt, $admin_email_encrypt, $password_hash, $tipo, $usuario_id]);
|
||||
|
||||
if (!$stmtInsert2) {
|
||||
die("❌ Error al crear usuario administrador: " . print_r(sqlsrv_errors(), true));
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=error_user");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Obtener ID del nuevo usuario
|
||||
$sqlGetId = "SELECT SCOPE_IDENTITY() AS id_usuario";
|
||||
$stmtGetId = sqlsrv_query($conn, $sqlGetId);
|
||||
$idUsuarioRow = sqlsrv_fetch_array($stmtGetId, SQLSRV_FETCH_ASSOC);
|
||||
$idUsuarioRow = sqlsrv_fetch_array($stmtInsert2, SQLSRV_FETCH_ASSOC);
|
||||
$id_usuario = $idUsuarioRow['id_usuario'] ?? null;
|
||||
|
||||
if (!$id_usuario) {
|
||||
die("❌ No se pudo obtener el ID del usuario recién creado.");
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=error_id");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Actualizar agencia con el ID del administrador
|
||||
@@ -556,7 +560,8 @@ function aprobar_agencia()
|
||||
$stmtUpdateAgencia = sqlsrv_query($conn, $sqlUpdateAgencia, [$id_usuario, $id_agencia]);
|
||||
|
||||
if (!$stmtUpdateAgencia) {
|
||||
die("❌ Error al actualizar agencia con administrador: " . print_r(sqlsrv_errors(), true));
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=update_failed");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Insertar en informacion_general
|
||||
@@ -564,7 +569,8 @@ function aprobar_agencia()
|
||||
$stmtInfo = sqlsrv_query($conn, $sqlInfo, [$id_usuario, $admin_name, $admin_email]);
|
||||
|
||||
if (!$stmtInfo) {
|
||||
die("❌ Error al insertar información general: " . print_r(sqlsrv_errors(), true));
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=update_failed");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Actualizar solicitud
|
||||
@@ -577,7 +583,8 @@ function aprobar_agencia()
|
||||
$stmtUpdate = sqlsrv_query($conn, $sqlUpdate, [$usuario_id, $id]);
|
||||
|
||||
if (!$stmtUpdate) {
|
||||
die("❌ Error al actualizar solicitud: " . print_r(sqlsrv_errors(), true));
|
||||
header("Location: /IMPORTADORES/administrador/aprobarAgencias?error=update_request_failed");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Enviar correo a la agencia
|
||||
@@ -624,7 +631,7 @@ function aprobar_agencia()
|
||||
// Registrar en bitácora
|
||||
registrar_bitacora_agencia($id_agencia, $nombre, 'CREACION', $usuario_id);
|
||||
|
||||
header("Location: /IMPORTADORES/administrador/agenciasActivas");
|
||||
header("Location: /IMPORTADORES/administrador/agenciasActivas?success=created");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user