From 17b8d739780e45a787c7b189adfbe7645d6280a4 Mon Sep 17 00:00:00 2001 From: David Larlet Date: Thu, 6 Feb 2025 11:26:47 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20Expose=20teams=20in=20users=E2=80=99=20?= =?UTF-8?q?CSV=20export?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Yohan Boniface --- umap/admin.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/umap/admin.py b/umap/admin.py index 6ce779f0..843c845a 100644 --- a/umap/admin.py +++ b/umap/admin.py @@ -69,9 +69,18 @@ class PictogramAdmin(admin.ModelAdmin): list_filter = ("category",) -class TeamAdmin(admin.ModelAdmin): +class TeamAdmin(CSVExportMixin, admin.ModelAdmin): + csv_fields = [ + "pk", + "name", + "users_count", + ] + list_display = list(admin.ModelAdmin.list_display) + ["users_count"] filter_horizontal = ("users",) + def users_count(self, obj): + return obj.users.count() + class UserAdmin(CSVExportMixin, UserAdminBase): csv_fields = [ @@ -83,13 +92,17 @@ class UserAdmin(CSVExportMixin, UserAdminBase): "last_login", "date_joined", "maps_count", + "user_teams", ] - list_display = list(UserAdminBase.list_display) + ["maps_count"] + list_display = list(UserAdminBase.list_display) + ["maps_count", "user_teams"] def maps_count(self, obj): # owner maps + maps as editor return obj.owned_maps.count() + obj.map_set.count() + def user_teams(self, obj): + return " ; ".join(obj.teams.values_list("name", flat=True)) + admin.site.register(Map, MapAdmin) admin.site.register(DataLayer)