From 4baaa8d95e4bb0067d743df828884a2df6ac358a Mon Sep 17 00:00:00 2001 From: JensDiemer Date: Thu, 28 Jul 2022 21:07:21 +0200 Subject: [PATCH] Better changelists for super users --- src/inventory/admin/base.py | 20 ++++++++++++++++++++ src/inventory/admin/location.py | 1 + 2 files changed, 21 insertions(+) diff --git a/src/inventory/admin/base.py b/src/inventory/admin/base.py index db58989..95b0281 100644 --- a/src/inventory/admin/base.py +++ b/src/inventory/admin/base.py @@ -43,6 +43,26 @@ class BaseUserAdmin(CompareVersionAdmin): return qs + def get_list_filter(self, request): + list_filter = self.list_filter + + if request.user.is_superuser: + # Superuser sees entries from all users -> Add "By user" filter + list_filter = list(list_filter) + list_filter.insert(0, 'user') + + return list_filter + + def get_list_display(self, request): + list_display = self.list_display + + if request.user.is_superuser: + # Superuser sees entries from all users -> Display the user in change list + list_display = list(list_display) + list_display.insert(0, 'user') + + return list_display + class BaseImageModelInline(UserInlineMixin, SortableInlineAdminMixin, admin.TabularInline): def preview(self, instance): diff --git a/src/inventory/admin/location.py b/src/inventory/admin/location.py index 2b0fe7e..5b93b43 100644 --- a/src/inventory/admin/location.py +++ b/src/inventory/admin/location.py @@ -24,5 +24,6 @@ class LocationModelAdmin(ImportExportMixin, BaseUserAdmin): return text list_display = ('location', 'create_dt', 'update_dt') + list_display_links = ('location',) list_filter = (LimitTreeDepthListFilter,) ordering = ('path_str',)