Commit Graph

4 Commits

Author SHA1 Message Date
8cc8cd1339 Исправлена персистентность типа доставки при автосохранении
Проблема: После переключения между "С доставкой" и "Самовывоз" и автосохранения, при перезагрузке страницы всегда отображался "Самовывоз", независимо от фактически сохраненного значения.

Изменения:

1. **orders/templates/orders/order_form.html**:
   - Переписана инициализация управления типом доставки
   - Код вынесен из jQuery document.ready в отдельный DOMContentLoaded обработчик
   - Разделена логика синхронизации:
     * syncDeliveryTypeFromRadio() - для обработки кликов пользователя
     * syncUIFromCheckbox() - для инициализации UI из значения чекбокса
   - Исправлен рендеринг скрытого чекбокса is_delivery с явным атрибутом checked
   - Удалена лишняя закрывающая скобка, вызывавшая JS ошибку
   - Удален дублирующийся обработчик select2:opening для выбора клиента

2. **orders/services/draft_service.py**:
   - Добавлена явная конвертация boolean полей (is_delivery, customer_is_recipient, is_anonymous)
   - Обработка различных типов данных (bool, string, None) в единый boolean
   - Добавлено логирование для отладки is_delivery (временно)

Результат: Тип доставки теперь корректно сохраняется через автосохранение и восстанавливается при перезагрузке страницы.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 16:59:24 +03:00
5d5de1fe31 Рефакторинг: перенос логики создания временных комплектов в сервис
Изменения:
- Удалена функция create_temporary_kit из myproject/orders/views.py
- Перенесена в новый сервис myproject/products/services/kit_service.py
- Добавлен API endpoint products:api-temporary-kit-create для создания временных комплектов
- Обновлены URL-ы соответственно

Преимущества:
- Логика временных комплектов теперь находится в соответствующем приложении (products)
- Упрощена архитектура orders приложения
- Сервис может быть переиспользован в других контекстах
- Лучшее разделение ответственности между приложениями

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 23:44:05 +03:00
6c8af5ab2c fix: Улучшения системы ценообразования комплектов
Исправлены 4 проблемы:
1. Расчёт цены первого товара - улучшена валидация в getProductPrice и calculateFinalPrice
2. Отображение actual_price в Select2 вместо обычной цены
3. Количество по умолчанию = 1 для новых форм компонентов
4. Auto-select текста при клике на поле количества для удобства редактирования

Изменённые файлы:
- products/forms.py: добавлен __init__ в KitItemForm для quantity.initial = 1
- products/templates/includes/select2-product-init.html: обновлена formatSelectResult
- products/templates/productkit_create.html: добавлен focus handler для auto-select
- products/templates/productkit_edit.html: добавлен focus handler для auto-select

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 19:04:03 +03:00
d78c43d9a9 Initial commit: Django inventory system 2025-10-22 01:11:06 +03:00