feat: Expose teams in users’ CSV export (#2484)
Some checks are pending
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run

This commit is contained in:
David Larlet 2025-02-06 11:50:52 -05:00 committed by GitHub
commit fb03c6a39e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -69,9 +69,18 @@ class PictogramAdmin(admin.ModelAdmin):
list_filter = ("category",) 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",) filter_horizontal = ("users",)
def users_count(self, obj):
return obj.users.count()
class UserAdmin(CSVExportMixin, UserAdminBase): class UserAdmin(CSVExportMixin, UserAdminBase):
csv_fields = [ csv_fields = [
@ -83,13 +92,17 @@ class UserAdmin(CSVExportMixin, UserAdminBase):
"last_login", "last_login",
"date_joined", "date_joined",
"maps_count", "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): def maps_count(self, obj):
# owner maps + maps as editor # owner maps + maps as editor
return obj.owned_maps.count() + obj.map_set.count() 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(Map, MapAdmin)
admin.site.register(DataLayer) admin.site.register(DataLayer)