Before simplifying order creation and editing

This commit is contained in:
2025-11-28 23:11:34 +03:00
parent 94ddb0424b
commit f911a57640
12 changed files with 133 additions and 77 deletions

View File

@@ -248,6 +248,11 @@ class Order(models.Model):
def __str__(self):
return f"Заказ #{self.order_number} - {self.customer}"
def get_absolute_url(self):
"""Возвращает канонический URL для заказа"""
from django.urls import reverse
return reverse('orders:order-detail', kwargs={'order_number': self.order_number})
def save(self, *args, **kwargs):
# Генерируем уникальный номер заказа при создании (начиная с 100 для 3-значного поиска)
if not self.order_number:

View File

@@ -172,9 +172,11 @@ class Payment(models.Model):
)
# Нормализация переплаты: лишнее в кошелёк, amount_paid = total_amount
try:
from customers.services.wallet_service import WalletService
WalletService.add_overpayment(self.order, self.created_by)
except Exception:
# Продолжаем, даже если нормализация переплаты не удалась
pass
# ТОЛЬКО для новых платежей, чтобы избежать дублирования при обновлении
if is_new:
try:
from customers.services.wallet_service import WalletService
WalletService.add_overpayment(self.order, self.created_by)
except Exception:
# Продолжаем, даже если нормализация переплаты не удалась
pass