add discount models

This commit is contained in:
Tobias Brunner 2025-05-22 16:52:34 +02:00
parent a6a15150ea
commit 836187f2aa
Signed by: tobru
SSH key fingerprint: SHA256:kOXg1R6c11XW3/Pt9dbLdQvOJGFAy+B2K6v6PtRWBGQ
3 changed files with 195 additions and 2 deletions

View file

@ -16,6 +16,8 @@ from .models import (
ExternalLinkOffering,
Lead,
Plan,
ProgressiveDiscountModel,
DiscountTier,
ReusableText,
Service,
ServiceOffering,
@ -292,16 +294,31 @@ class VSHNAppCatUnitRateInline(admin.TabularInline):
fields = ("currency", "service_level", "amount")
class DiscountTierInline(admin.TabularInline):
model = DiscountTier
extra = 1
fields = ("threshold", "discount_percent")
ordering = ("threshold",)
@admin.register(ProgressiveDiscountModel)
class ProgressiveDiscountModelAdmin(admin.ModelAdmin):
list_display = ("name", "description", "active")
search_fields = ("name", "description")
inlines = [DiscountTierInline]
@admin.register(VSHNAppCatPrice)
class VSHNAppCatPriceAdmin(admin.ModelAdmin):
list_display = (
"service",
"variable_unit",
"term",
"discount_model",
"admin_display_base_fees",
"admin_display_unit_rates",
)
list_filter = ("variable_unit", "service")
list_filter = ("variable_unit", "service", "discount_model")
search_fields = ("service__name",)
inlines = [VSHNAppCatBaseFeeInline, VSHNAppCatUnitRateInline]