Fix: Estado Rechazado Y Acciones del Lado del Usuario
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user