Fix: Estado Rechazado Y Acciones del Lado del Usuario

This commit is contained in:
2026-02-13 15:52:33 -03:00
parent 0ebb2b15e5
commit 46a41dc29d
2 changed files with 429 additions and 222 deletions

View File

@@ -657,6 +657,13 @@ public class AdsV2Controller : ControllerBase
ad.DisplayContactInfo = updatedAdDto.DisplayContactInfo;
// Nota: IsFeatured y otros campos sensibles se manejan por separado (pago/admin)
// LÓGICA DE ESTADO TRAS RECHAZO
if (!IsUserAdmin() && ad.StatusID == (int)AdStatusEnum.Rejected)
{
// Si estaba rechazado y el dueño lo edita, vuelve a revisión.
ad.StatusID = (int)AdStatusEnum.ModerationPending;
}
// 📝 AUDITORÍA
var adBrandName = (await _context.Brands.FindAsync(ad.BrandID))?.Name ?? "";
_context.AuditLogs.Add(new AuditLog
@@ -770,11 +777,17 @@ public class AdsV2Controller : ControllerBase
return BadRequest("Debes completar el pago para activar este aviso.");
}
// 2. NUEVO: No tocar si está en moderación
// 2. No tocar si está en moderación
if (ad.StatusID == (int)AdStatusEnum.ModerationPending)
{
return BadRequest("El aviso está en revisión. Espera la aprobación del administrador.");
}
// 3. Bloquear si está RECHAZADO
if (ad.StatusID == (int)AdStatusEnum.Rejected)
{
return BadRequest("Este aviso fue rechazado. Debes editarlo y corregirlo para que sea revisado nuevamente.");
}
}
// Validar estados destino permitidos para el usuario