Исправлено: сохранение флага is_returned при отмене ранее проданного заказа
This commit is contained in:
@@ -609,6 +609,29 @@ def release_reservations_on_cancellation(sender, instance, created, **kwargs):
|
||||
logger.debug(
|
||||
f"ℹ️ Для заказа {instance.order_number} нет резервов в статусе 'reserved'"
|
||||
)
|
||||
|
||||
# === Обновляем is_returned ===
|
||||
# Проверяем: был ли заказ когда-либо в статусе completed (продан)?
|
||||
# Если да, то это возврат/отмена проданного товара
|
||||
try:
|
||||
from orders.models import OrderStatus
|
||||
|
||||
# Проверяем всю историю заказа
|
||||
was_completed = instance.history.filter(
|
||||
status__is_positive_end=True
|
||||
).exists()
|
||||
|
||||
if was_completed:
|
||||
# Заказ был продан → это возврат
|
||||
Order.objects.filter(pk=instance.pk).update(is_returned=True)
|
||||
logger.info(
|
||||
f"✓ Заказ {instance.order_number} был продан ранее. "
|
||||
f"Установлен флаг is_returned = True"
|
||||
)
|
||||
except Exception as e:
|
||||
logger.warning(
|
||||
f"⚠ Не удалось проверить историю заказа {instance.order_number}: {e}"
|
||||
)
|
||||
|
||||
|
||||
@receiver(post_save, sender=Order)
|
||||
|
||||
Reference in New Issue
Block a user