From c8787b0102e8e741f6eb696a3507d7b9bfd5c8a2 Mon Sep 17 00:00:00 2001 From: MJ Akbari Date: Wed, 16 Oct 2024 14:42:16 +0330 Subject: [PATCH] teams export --- user/admin.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/user/admin.py b/user/admin.py index b3f8e81..591b0a8 100644 --- a/user/admin.py +++ b/user/admin.py @@ -112,6 +112,18 @@ def export_enrolled_teams(self, request, queryset): data.insert(0, headers) return ExcelResponse(data=data, worksheet_name="Teams", output_filename="teams") + def export_selected_teams(self, request, queryset): + data = [] + headers = ['Email', 'Phone Number', 'Name', 'Team'] + + for team in queryset.all(): + for user in team.members.all(): + data.append([user.email, user.phone_number, user.first_name, team.name]) + + data.sort(key=lambda x: x[3]) + data.insert(0, headers) + return ExcelResponse(data=data, worksheet_name="Teams", output_filename="teams") + def payment_state(self, obj): return obj.get_payment_state() @@ -130,7 +142,8 @@ def payment_state(self, obj): ) ) - actions = ['export_enrolled_teams'] + actions = ['export_enrolled_teams', 'export_selected_teams'] + export_selected_teams.short_description = 'Export selected teams' export_enrolled_teams.short_description = 'Export enrolled teams' actions_on_top = True