From 0436be2b9e6bdee3441e0a0041b7b4a22b7c4239 Mon Sep 17 00:00:00 2001 From: mhewel <58829786+mhewel@users.noreply.github.com> Date: Sun, 21 Jul 2024 16:41:46 +0200 Subject: [PATCH] =?UTF-8?q?Admin=20>=20Afdeling:=20Flyt=20Foreningskolonne?= =?UTF-8?q?,=20og=20sorter=20p=C3=A5=20Venteliste=20antal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fjernede også ID kolonne (den havde link til det samme som Afdelingskolonne) --- members/admin/department_admin.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/members/admin/department_admin.py b/members/admin/department_admin.py index 0d581797..ea681b3a 100644 --- a/members/admin/department_admin.py +++ b/members/admin/department_admin.py @@ -12,6 +12,7 @@ ) from django.utils.html import escape from django.http import HttpResponse +from django.db.models import Count class AdminUserDepartmentInline(admin.TabularInline): @@ -97,8 +98,6 @@ def queryset(self, request, queryset): class DepartmentAdmin(admin.ModelAdmin): inlines = [AdminUserDepartmentInline] list_display = ( - "id", - "department_union_link", "department_link", "address", "isVisible", @@ -107,6 +106,7 @@ class DepartmentAdmin(admin.ModelAdmin): "created", "closed_dtm", "waitinglist_count_link", + "department_union_link", ) list_filter = ( "address__region", @@ -149,7 +149,9 @@ def formfield_for_manytomany(self, db_field, request, **kwargs): return super().formfield_for_manytomany(db_field, request, **kwargs) def get_queryset(self, request): - qs = super(DepartmentAdmin, self).get_queryset(request) + queryset = super().get_queryset(request) + qs = queryset.annotate(waitinglist_count=Count("waitinglist")) + if request.user.is_superuser or request.user.has_perm( "members.view_all_departments" ): @@ -210,11 +212,12 @@ def waitinglist_count_link(self, item): link = f""" - {item.waitinglist_set.count()} + {item.waitinglist_count} """ return mark_safe(link) waitinglist_count_link.short_description = "Venteliste" + waitinglist_count_link.admin_order_field = "waitinglist_count" def export_department_info_csv(self, request, queryset): result_string = """"Forening"; "Afdeling"; "Afdeling-Startdato"; "Afdeling-lukkedato";\