feat(discounts, orders): рефакторинг системы скидок - единый источник правды
- Добавлен combine_mode в форму создания/редактирования скидок - Добавлена колонка "Объединение" в список скидок с иконками - Добавлен фильтр по режиму объединения скидок - Добавлена валидация: только одна exclusive скидка на заказ - Удалены дублирующие поля из Order и OrderItem: - applied_discount, applied_promo_code, discount_amount - Скидки теперь хранятся только в DiscountApplication - Добавлены свойства для обратной совместимости Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -116,7 +116,6 @@ class OrderAdmin(TenantAdminOnlyMixin, admin.ModelAdmin):
|
||||
'status',
|
||||
'payment_status',
|
||||
'created_at',
|
||||
'applied_discount',
|
||||
]
|
||||
|
||||
search_fields = [
|
||||
@@ -132,7 +131,6 @@ class OrderAdmin(TenantAdminOnlyMixin, admin.ModelAdmin):
|
||||
'created_at',
|
||||
'updated_at',
|
||||
'subtotal_display',
|
||||
'discount_display',
|
||||
'amount_due',
|
||||
'payment_status',
|
||||
]
|
||||
@@ -149,16 +147,13 @@ class OrderAdmin(TenantAdminOnlyMixin, admin.ModelAdmin):
|
||||
}),
|
||||
('Скидки', {
|
||||
'fields': (
|
||||
'applied_discount',
|
||||
'applied_promo_code',
|
||||
'discount_amount',
|
||||
'discount_display',
|
||||
),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
('Оплата', {
|
||||
'fields': (
|
||||
'subtotal_display',
|
||||
'discount_display',
|
||||
'total_amount',
|
||||
'amount_paid',
|
||||
'amount_due',
|
||||
@@ -289,7 +284,6 @@ class OrderItemAdmin(TenantAdminOnlyMixin, admin.ModelAdmin):
|
||||
list_filter = [
|
||||
'order__status',
|
||||
'order__created_at',
|
||||
'applied_discount',
|
||||
]
|
||||
|
||||
search_fields = [
|
||||
@@ -310,10 +304,6 @@ class OrderItemAdmin(TenantAdminOnlyMixin, admin.ModelAdmin):
|
||||
('Информация', {
|
||||
'fields': ('quantity', 'price', 'item_discount_display', 'get_total_price')
|
||||
}),
|
||||
('Скидка', {
|
||||
'fields': ('applied_discount', 'discount_amount'),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
('Системная информация', {
|
||||
'fields': ('created_at',),
|
||||
'classes': ('collapse',)
|
||||
|
||||
Reference in New Issue
Block a user