use nested admin for simpler plan admin

This commit is contained in:
Tobias Brunner 2025-03-07 14:50:36 +01:00
parent 9aaaa90d1a
commit 4e1f0f962b
No known key found for this signature in database
4 changed files with 64 additions and 22 deletions

View file

@ -14,6 +14,42 @@ from .models import (
WebsiteFaq,
)
import nested_admin
class PlanInline(nested_admin.NestedStackedInline):
model = Plan
extra = 1
fieldsets = (
(None, {"fields": ("name", "description", "pricing", "plan_description")}),
)
class ExternalLinkOfferingInline(admin.TabularInline):
model = ExternalLinkOffering
extra = 1
fields = ("description", "url", "order")
ordering = ("order", "description")
class OfferingInline(nested_admin.NestedStackedInline):
model = ServiceOffering
extra = 1
fieldsets = (
(
None,
{
"fields": (
"description",
"service",
"cloud_provider",
"offer_description",
)
},
),
)
inlines = [PlanInline]
@admin.register(ReusableText)
class ReusableTextAdmin(admin.ModelAdmin):
@ -31,14 +67,8 @@ class CategoryAdmin(admin.ModelAdmin):
ordering = ("order", "name")
class OfferingInline(admin.StackedInline):
model = ServiceOffering
extra = 1
fieldsets = ((None, {"fields": ("description", "service", "cloud_provider")}),)
@admin.register(CloudProvider)
class CloudProviderAdmin(admin.ModelAdmin):
class CloudProviderAdmin(nested_admin.NestedModelAdmin):
list_display = ("name", "slug", "logo_preview")
search_fields = ("name", "description")
prepopulated_fields = {"slug": ("name",)}
@ -90,21 +120,6 @@ class ServiceAdmin(admin.ModelAdmin):
partner_list.short_description = "Consulting Partners"
class PlanInline(admin.StackedInline):
model = Plan
extra = 1
fieldsets = (
(None, {"fields": ("name", "description", "pricing", "plan_description")}),
)
class ExternalLinkOfferingInline(admin.TabularInline):
model = ExternalLinkOffering
extra = 1
fields = ("description", "url", "order")
ordering = ("order", "description")
@admin.register(ServiceOffering)
class ServiceOfferingAdmin(admin.ModelAdmin):
list_display = ("service", "cloud_provider")