Исправлены две критические проблемы с автосохранением и восстановлением
данных при перезагрузке страницы редактирования заказа:
1. ПРОБЛЕМА: Адрес доставки не восстанавливался после перезагрузки
РЕШЕНИЕ (forms.py):
- Добавлена инициализация полей адреса в OrderForm.__init__()
- Поля заполняются из order.delivery_address при редактировании
- Инициализируются все поля: улица, дом, квартира, подъезд, этаж, домофон, инструкции
2. ПРОБЛЕМА: Цены и количество товаров не сохранялись через автосохранение
РЕШЕНИЕ (draft_service.py):
- Добавлена обработка items в DraftOrderService.update_draft()
- Автосохранение теперь обновляет/создаёт/удаляет позиции заказа
- Сохраняются: product/product_kit, quantity, price, is_custom_price
- Корректно определяется is_custom_price через сравнение с оригинальной ценой
Логика обработки items:
- Существующие позиции обновляются (product, quantity, price)
- Новые позиции создаются
- Лишние позиции удаляются
- Поддержка как товаров (product_id), так и комплектов (product_kit_id)
Теперь при перезагрузке страницы:
✅ Адрес доставки полностью восстанавливается во всех полях
✅ Товары сохраняются с правильными ценами и количествами
✅ Изменённые цены корректно отмечаются бейджем "Изменена"
✅ Все данные синхронизируются между автосохранением и базой данных
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>