feat(orders): add recipient management and enhance order forms

- Introduced Recipient model to manage order recipients separately from customers.
- Updated Order model to link to Recipient, replacing recipient_name and recipient_phone fields.
- Enhanced OrderForm to include recipient selection modes: customer, history, and new.
- Added AJAX endpoint to fetch recipient history for customers.
- Updated admin interface to manage recipients and display recipient information in order details.
- Refactored address handling to accommodate new recipient logic.
- Improved demo order creation to include random recipients.
This commit is contained in:
2025-12-23 00:08:41 +03:00
parent 483f150e7a
commit 6669d47cdf
15 changed files with 559 additions and 110 deletions

View File

@@ -4,6 +4,7 @@
Структура:
- OrderStatus: Статусы заказов
- Address: Адреса доставки
- Recipient: Получатели заказов
- Order: Главная модель заказа
- OrderItem: Позиции в заказе
- PaymentMethod: Способы оплаты (справочник)
@@ -17,6 +18,7 @@ from .payment_method import PaymentMethod
# 2. Модели с зависимостями от справочников
from .address import Address
from .recipient import Recipient
# 3. Главная модель Order (зависит от Status, Address)
from .order import Order
@@ -29,6 +31,7 @@ from .transaction import Transaction
__all__ = [
'OrderStatus',
'Address',
'Recipient',
'Order',
'OrderItem',
'PaymentMethod',