Before simplifying order creation and editing
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user