Fix: Estado Rechazado y Logica de Edición
This commit is contained in:
@@ -57,13 +57,44 @@ export default function PublicarAvisoPage() {
|
||||
|
||||
// Determinamos la categoría para cargar las tarifas correspondientes
|
||||
const categoryCode = ad.vehicleTypeID === 1 ? "EAUTOS" : "EMOTOS";
|
||||
|
||||
setCategorySelection(categoryCode);
|
||||
|
||||
// Bloquear el cambio de categoría
|
||||
setFixedCategory(categoryCode);
|
||||
|
||||
/**
|
||||
* LÓGICA DE EDICIÓN DIRECTA:
|
||||
* Si el aviso está en un estado que implica que ya fue procesado o rechazado,
|
||||
* saltamos la selección de planes y cargamos el plan correspondiente.
|
||||
* Status: 4 (Activo), 5 (Rechazado), 6 (Pausado), 7 (Vendido), 10 (Reservado)
|
||||
* El estado 1 (Borrador) y 8 (Vencido) NO entran aquí para permitir re-selección/pago.
|
||||
*/
|
||||
const statusesEdicionDirecta = [4, 5, 6, 7, 10];
|
||||
|
||||
if (statusesEdicionDirecta.includes(ad.statusID)) {
|
||||
// Obtenemos la configuración de tarifa que coincide con el estado del aviso (Destacado o no)
|
||||
const paqueteId = ad.isFeatured ? 1 : 0;
|
||||
const tarifasData = await AvisosService.obtenerConfiguracion(
|
||||
"EMOTORES",
|
||||
paqueteId,
|
||||
);
|
||||
const tarifaReal = tarifasData[0];
|
||||
|
||||
if (tarifaReal) {
|
||||
const vehicleTypeId = categoryCode === "EAUTOS" ? 1 : 2;
|
||||
const nombrePlanAmigable = ad.isFeatured
|
||||
? "PLAN DESTACADO"
|
||||
: "PLAN ESTÁNDAR";
|
||||
|
||||
setPlanSeleccionado({
|
||||
...tarifaReal,
|
||||
idRubro: vehicleTypeId,
|
||||
nomavi: nombrePlanAmigable,
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
console.error("Error cargando aviso para edición:", err);
|
||||
setError("Error al cargar el aviso.");
|
||||
} finally {
|
||||
setLoading(false);
|
||||
@@ -125,8 +156,6 @@ export default function PublicarAvisoPage() {
|
||||
);
|
||||
}
|
||||
|
||||
// ELIMINADO: Bloque if (publicacionExitosa) { return ... }
|
||||
|
||||
if (planSeleccionado) {
|
||||
return (
|
||||
<div className="max-w-6xl mx-auto py-8 px-6">
|
||||
|
||||
Reference in New Issue
Block a user