feat: Add customer prefill from URL parameter in order creation

- Modified order_create view to read customer from GET parameter
- Pass preselected_customer to template context
- Template renders select with preselected option for Select2
- Fixed draft creation timing with callback after Select2 initialization
- Auto-create draft when customer is preselected from URL
- Graceful handling if customer not found or invalid ID
This commit is contained in:
2025-11-27 00:17:02 +03:00
parent 5ead7fdd2e
commit c62cdb0298
6 changed files with 463 additions and 19 deletions

View File

@@ -89,10 +89,24 @@ def customer_detail(request, pk):
active_orders = customer.orders.exclude(payment_status='paid')
total_debt = sum(order.amount_due for order in active_orders)
# История транзакций кошелька (последние 20)
from .models import WalletTransaction
wallet_transactions = WalletTransaction.objects.filter(
customer=customer
).select_related('order', 'created_by').order_by('-created_at')[:20]
# История заказов с пагинацией
orders_list = customer.orders.all().order_by('-created_at')
paginator = Paginator(orders_list, 10) # 10 заказов на страницу
page_number = request.GET.get('page')
orders_page = paginator.get_page(page_number)
context = {
'customer': customer,
'total_debt': total_debt,
'active_orders_count': active_orders.count(),
'wallet_transactions': wallet_transactions,
'orders_page': orders_page,
}
return render(request, 'customers/customer_detail.html', context)