Atajos de catálogos personalizables
This commit is contained in:
@@ -106,9 +106,9 @@ function aprobar_usuario()
|
||||
$email_encrypt = encrypt($email);
|
||||
|
||||
// Insertar en usuarios_sistema y obtener ID en la misma consulta
|
||||
$sqlInsert = "INSERT INTO usuarios_sistema (nombre, email, password_hash, tipo_usuario, activo, creado_en, dos_factores, creado_por)
|
||||
$sqlInsert = "INSERT INTO usuarios_sistema (nombre, email, password_hash, tipo_usuario, activo, creado_en, dos_factores, creado_por, preferencias_catalogos)
|
||||
OUTPUT INSERTED.id_usuario
|
||||
VALUES (?, ?, ?, ?, 1, GETDATE(), 0, ?)";
|
||||
VALUES (?, ?, ?, ?, 1, GETDATE(), 0, ?, 1)";
|
||||
|
||||
$stmtInsert = sqlsrv_query($conn, $sqlInsert, [
|
||||
$nombre_encrypt, $email_encrypt, $password_hash, $tipo, $_SESSION['usuario_id']
|
||||
@@ -140,6 +140,17 @@ function aprobar_usuario()
|
||||
throw new Exception("Error al insertar información general: " . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
// Insertar en preferencias de catalogos
|
||||
$sqlPref = "INSERT INTO preferencias_catalogos_usuario
|
||||
(id_usuario, locaciones, vinculacion, transportistas, transportes, choferes, proveedores,
|
||||
productos_frecuentes, solicitudes_importacion, expediente_electronico, configuracion, cerrar_sesion)
|
||||
VALUES (?, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)";
|
||||
$stmtPref = sqlsrv_query($conn, $sqlPref, [$id_usuario]);
|
||||
|
||||
if (!$stmtPref) {
|
||||
throw new Exception("Error al insertar preferencias de catalogos: " . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
// Actualizar solicitud
|
||||
$sqlUpdate = "UPDATE solicitudes_importadores
|
||||
SET request_status = 'approved', approval_date = GETDATE(), approved_by = ?
|
||||
@@ -283,6 +294,7 @@ function guardar_usuario()
|
||||
|
||||
// 4. Insertar usuario
|
||||
$sqlInsert = "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, ?)";
|
||||
$params = [$nombre_encrypted, $email_encrypted, $password_hash, $tipo, $_SESSION['usuario_id']];
|
||||
$stmtInsert = sqlsrv_query($conn, $sqlInsert, $params);
|
||||
@@ -293,12 +305,31 @@ function guardar_usuario()
|
||||
}
|
||||
|
||||
// 5. Obtener ID del nuevo usuario (para posibles tablas relacionadas)
|
||||
$sqlGetId = "SELECT SCOPE_IDENTITY() AS id_usuario";
|
||||
$stmtGetId = sqlsrv_query($conn, $sqlGetId);
|
||||
$idUsuarioRow = sqlsrv_fetch_array($stmtGetId, SQLSRV_FETCH_ASSOC);
|
||||
$idUsuarioRow = sqlsrv_fetch_array($stmtInsert, SQLSRV_FETCH_ASSOC);
|
||||
$id_usuario = $idUsuarioRow['id_usuario'] ?? null;
|
||||
|
||||
// 6. Enviar correo de bienvenida
|
||||
// 6. Insertar en informacion_general
|
||||
$sqlInfo = "INSERT INTO informacion_general
|
||||
(id_usuario, nombre, correo)
|
||||
VALUES (?, ?, ?)";
|
||||
$stmtInfo = sqlsrv_query($conn, $sqlInfo, [$id_usuario, $nombre, $email]);
|
||||
|
||||
if (!$stmtInfo) {
|
||||
throw new Exception("Error al insertar información general: " . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
// 7. Insertar en preferencias de catalogos
|
||||
$sqlPref = "INSERT INTO preferencias_catalogos_usuario
|
||||
(id_usuario, locaciones, vinculacion, transportistas, transportes, choferes, proveedores,
|
||||
productos_frecuentes, solicitudes_importacion, expediente_electronico, configuracion, cerrar_sesion)
|
||||
VALUES (?, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)";
|
||||
$stmtPref = sqlsrv_query($conn, $sqlPref, [$id_usuario]);
|
||||
|
||||
if (!$stmtPref) {
|
||||
throw new Exception("Error al insertar preferencias de catalogos: " . print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
|
||||
// 8. Enviar correo de bienvenida
|
||||
$mail = new PHPMailer(true);
|
||||
try {
|
||||
$mail->isSMTP();
|
||||
|
||||
Reference in New Issue
Block a user