- Добавлен combine_mode в форму создания/редактирования скидок
- Добавлена колонка "Объединение" в список скидок с иконками
- Добавлен фильтр по режиму объединения скидок
- Добавлена валидация: только одна exclusive скидка на заказ
- Удалены дублирующие поля из Order и OrderItem:
- applied_discount, applied_promo_code, discount_amount
- Скидки теперь хранятся только в DiscountApplication
- Добавлены свойства для обратной совместимости
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Интеграция системы скидок с моделями заказов:
Order:
- applied_discount: ForeignKey на Discount
- discount_amount: сумма скидки на заказ
- applied_promo_code: использованный промокод
- calculate_total(): обновлён с учётом скидки
OrderItem:
- applied_discount: ForeignKey на Discount
- discount_amount: сумма скидки на позицию
- get_total_price(): обновлён с учётом скидки
Миграция:
- 0003_order_applied_discount... добавляет новые поля
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Поле quantity изменено с PositiveIntegerField на DecimalField(max_digits=10, decimal_places=3)
- Это необходимо для корректной работы с единицами продажи (например, 2.5 банча)
- Создана миграция 0004_change_orderitem_quantity_to_decimal
- Теперь POS корректно обрабатывает товары с дробными количествами в единицах продажи
Add new models UnitOfMeasure and ProductSalesUnit to enable selling products in different units (e.g., bunches, kg). Update Product model with base_unit field and methods for unit conversions and availability. Extend Sale, Reservation, and OrderItem models with sales_unit fields and snapshots. Modify SaleProcessor to handle quantity conversions. Include admin interfaces for managing units. Add corresponding database migrations.