From aa2f9f3257fb4dc693aa4ddb4eea040c749b245c Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Sat, 1 Feb 2025 19:38:02 +0100 Subject: [PATCH] members/models: moved head count calculations inside freizeit model --- jdav_web/members/admin.py | 4 ++-- jdav_web/members/models.py | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index cbf0790..ee2413a 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -925,10 +925,10 @@ class MemberOnListInline(CommonAdminInlineMixin, GenericTabularInline): def people_count(self, obj): if isinstance(obj, Freizeit): # Number of organizers who are also in the Memberlist - organizer_count = len(obj.staff_on_memberlist) + organizer_count = obj.staff_on_memberlist_count # Total number of people in the Memberlist - total_people = obj.participant_count + organizer_count + total_people = obj.head_count else: # fallback if no activity was found total_people = 0 diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 98eb762..5929215 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -1145,12 +1145,20 @@ class Freizeit(CommonModel): ps = set(map(lambda x: x.member, self.membersonlist.distinct())) jls = set(self.jugendleiter.distinct()) return ps.intersection(jls) + + @property + def staff_on_memberlist_count(self): + return len(self.staff_on_memberlist) @property def participant_count(self): ps = set(map(lambda x: x.member, self.membersonlist.distinct())) jls = set(self.jugendleiter.distinct()) return len(ps - jls) + + @property + def head_count(self): + return self.staff_on_memberlist_count + self.participant_count @property def approved_staff_count(self):