Добавлена поддержка флага is_from_showcase в форму заказа
- orders/forms.py: добавлено поле is_from_showcase в OrderItemForm * HiddenInput widget * Устанавливается через JavaScript для showcase_kit - orders/templates/orders/order_form.html: JavaScript логика * Автоматическое определение showcase_kit при загрузке черновика * Установка is_from_showcase=true для витринных комплектов * Консольное логирование для отладки - Флаг используется backend для вызова reserve_for_order()
This commit is contained in:
@@ -456,7 +456,7 @@ class OrderItemForm(forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = OrderItem
|
||||
fields = ['product', 'product_kit', 'sales_unit', 'quantity', 'price', 'is_custom_price']
|
||||
fields = ['product', 'product_kit', 'sales_unit', 'quantity', 'price', 'is_custom_price', 'is_from_showcase']
|
||||
# ВАЖНО: НЕ включаем 'id' в fields - это предотвращает ошибку валидации
|
||||
widgets = {
|
||||
'quantity': forms.NumberInput(attrs={'min': 1, 'value': 1}),
|
||||
@@ -465,6 +465,7 @@ class OrderItemForm(forms.ModelForm):
|
||||
'product_kit': forms.HiddenInput(),
|
||||
'sales_unit': forms.HiddenInput(), # Управляется через JS
|
||||
'is_custom_price': forms.HiddenInput(),
|
||||
'is_from_showcase': forms.HiddenInput(), # Устанавливается через JS для showcase_kit
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
@@ -491,6 +492,9 @@ class OrderItemForm(forms.ModelForm):
|
||||
|
||||
# Поле is_custom_price устанавливается через JS
|
||||
self.fields['is_custom_price'].required = False
|
||||
|
||||
# Поле is_from_showcase устанавливается через JS для showcase_kit
|
||||
self.fields['is_from_showcase'].required = False
|
||||
|
||||
def clean_price(self):
|
||||
"""Парсим цену с запятой или точкой и округляем до 2 знаков"""
|
||||
|
||||
Reference in New Issue
Block a user