define inlines for easier record editing

This commit is contained in:
Tobias Brunner 2025-03-06 16:50:36 +01:00
parent d3d5409452
commit eb5e4b0534
No known key found for this signature in database

View file

@ -31,11 +31,18 @@ class CategoryAdmin(admin.ModelAdmin):
ordering = ("order", "name") ordering = ("order", "name")
class OfferingInline(admin.StackedInline):
model = ServiceOffering
extra = 1
fieldsets = ((None, {"fields": ("description", "service", "cloud_provider")}),)
@admin.register(CloudProvider) @admin.register(CloudProvider)
class CloudProviderAdmin(admin.ModelAdmin): class CloudProviderAdmin(admin.ModelAdmin):
list_display = ("name", "slug", "logo_preview") list_display = ("name", "slug", "logo_preview")
search_fields = ("name", "description") search_fields = ("name", "description")
prepopulated_fields = {"slug": ("name",)} prepopulated_fields = {"slug": ("name",)}
inlines = [OfferingInline]
def logo_preview(self, obj): def logo_preview(self, obj):
if obj.logo: if obj.logo:
@ -61,7 +68,7 @@ class ServiceAdmin(admin.ModelAdmin):
search_fields = ("name", "description", "slug") search_fields = ("name", "description", "slug")
prepopulated_fields = {"slug": ("name",)} prepopulated_fields = {"slug": ("name",)}
filter_horizontal = ("categories",) filter_horizontal = ("categories",)
inlines = [ExternalLinkInline] inlines = [ExternalLinkInline, OfferingInline]
def logo_preview(self, obj): def logo_preview(self, obj):
if obj.logo: if obj.logo: