From 74f967de93a7885a6139d6ce7e246c519f3bd1db Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 29 Oct 2019 10:54:05 +0000 Subject: [PATCH] people: Show number of group members on listing page Signed-off-by: Michael Tremer --- src/backend/accounts.py | 13 +++++++++++++ src/templates/people/groups.html | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/src/backend/accounts.py b/src/backend/accounts.py index 52a5d978..ca6b991e 100644 --- a/src/backend/accounts.py +++ b/src/backend/accounts.py @@ -1137,6 +1137,19 @@ class Group(Object): if isinstance(other, self.__class__): return (self.description or self.gid) < (other.description or other.gid) + def __len__(self): + """ + Returns the number of members in this group + """ + l = 0 + + for attr in ("member", "memberUid"): + a = self.attributes.get(attr, None) + if a: + l += len(a) + + return l + @property def gid(self): try: diff --git a/src/templates/people/groups.html b/src/templates/people/groups.html index 64cdf97e..48de1b8b 100644 --- a/src/templates/people/groups.html +++ b/src/templates/people/groups.html @@ -15,6 +15,10 @@
{{ group }}
+ + + {{ _("One member", "%(num)s members", len(group)) % { "num" : len(group) } }} + -- 2.47.3