implement plan pricing
Some checks failed
Django Tests / test (push) Failing after 1m3s
Django Tests / test (pull_request) Failing after 1m3s

This commit is contained in:
Tobias Brunner 2025-06-20 17:40:38 +02:00
parent 96b667dd75
commit 61cabd1b1e
No known key found for this signature in database
7 changed files with 192 additions and 1257 deletions

View file

@ -5,7 +5,7 @@ Admin classes for services and service offerings
from django.contrib import admin
from django.utils.html import format_html
from ..models import Service, ServiceOffering, ExternalLink, ExternalLinkOffering, Plan
from ..models import Service, ServiceOffering, ExternalLink, ExternalLinkOffering, Plan, PlanPrice
class ExternalLinkInline(admin.TabularInline):
@ -32,7 +32,7 @@ class PlanInline(admin.StackedInline):
model = Plan
extra = 1
fieldsets = (
(None, {"fields": ("name", "description", "pricing", "plan_description")}),
(None, {"fields": ("name", "description", "plan_description")}),
)
@ -57,6 +57,18 @@ class OfferingInline(admin.StackedInline):
show_change_link = True
class PlanPriceInline(admin.TabularInline):
model = PlanPrice
extra = 1
class PlanAdmin(admin.ModelAdmin):
inlines = [PlanPriceInline]
list_display = ("name", "offering")
search_fields = ("name",)
list_filter = ("offering",)
@admin.register(Service)
class ServiceAdmin(admin.ModelAdmin):
"""Admin configuration for Service model"""
@ -106,3 +118,7 @@ class ServiceOfferingAdmin(admin.ModelAdmin):
list_filter = ("service", "cloud_provider")
search_fields = ("service__name", "cloud_provider__name", "description")
inlines = [ExternalLinkOfferingInline, PlanInline]
admin.site.register(Plan, PlanAdmin)
admin.site.register(PlanPrice)