From: Michael Tremer Date: Tue, 29 Oct 2019 10:54:05 +0000 (+0000) Subject: people: Show number of group members on listing page X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74f967de93a7885a6139d6ce7e246c519f3bd1db;p=ipfire.org.git people: Show number of group members on listing page Signed-off-by: Michael Tremer --- 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) } }} +