From 9f052db67f893e70df223ab141cc3ef053cd9815 Mon Sep 17 00:00:00 2001 From: Michael Herrmann Date: Wed, 15 Dec 2021 08:52:07 +0100 Subject: [PATCH] Improve "Add Version" page in admin --- winget/admin.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/winget/admin.py b/winget/admin.py index 037f8b2..f7159d3 100644 --- a/winget/admin.py +++ b/winget/admin.py @@ -47,7 +47,6 @@ class InstallerInline(StackedInline): model = Installer form = InstallerForm readonly_fields = ('sha256',) - extra = 0 def get_queryset(self, request): qs = super().get_queryset(request) @@ -55,6 +54,13 @@ class InstallerInline(StackedInline): return qs return qs.filter(version__package__tenant__user=request.user) + def get_extra(self, request, obj: Version = None, **kwargs): + # Show one empty Installer form when the version does not yet have an + # associated installer. Otherwise, don't add another Installer form. + if obj and obj.installer_set.exists(): + return 0 + return 1 + class VersionAdmin(ModelAdmin): inlines = (InstallerInline,)