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:
@@ -108,7 +108,19 @@ def order_create(request):
|
||||
else:
|
||||
messages.error(request, 'Пожалуйста, исправьте ошибки в форме.')
|
||||
else:
|
||||
form = OrderForm()
|
||||
# Предзаполнение клиента из GET параметра
|
||||
initial_data = {}
|
||||
preselected_customer = None
|
||||
customer_id = request.GET.get('customer')
|
||||
if customer_id:
|
||||
try:
|
||||
from customers.models import Customer
|
||||
preselected_customer = Customer.objects.get(pk=customer_id)
|
||||
initial_data['customer'] = preselected_customer.pk
|
||||
except (Customer.DoesNotExist, ValueError):
|
||||
pass
|
||||
|
||||
form = OrderForm(initial=initial_data)
|
||||
formset = OrderItemFormSet()
|
||||
payment_formset = PaymentFormSet()
|
||||
|
||||
@@ -116,6 +128,7 @@ def order_create(request):
|
||||
'form': form,
|
||||
'formset': formset,
|
||||
'payment_formset': payment_formset,
|
||||
'preselected_customer': preselected_customer,
|
||||
'title': 'Создание заказа',
|
||||
'button_text': 'Создать заказ',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user