]> git.ipfire.org Git - ipfire.org.git/commitdiff
people: Show number of group members on listing page
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Oct 2019 10:54:05 +0000 (10:54 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Oct 2019 10:54:05 +0000 (10:54 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/accounts.py
src/templates/people/groups.html

index 52a5d9783ff14207514580fe5e85f6e275972e66..ca6b991e828cb2cbd9e71e810883bd44e2cd12b4 100644 (file)
@@ -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:
index 64cdf97e18733284c024a5eca592ce42d0ec3473..48de1b8bb7cdc7347eb09e504f0d5cb17e01004e 100644 (file)
                                                                <h6 class="card-title mb-0">
                                                                        <a href="/groups/{{ group.gid }}">{{ group }}</a>
                                                                </h6>
+
+                                                               <small class="text-muted">
+                                                                       {{ _("One member", "%(num)s members", len(group)) % { "num" : len(group) } }}
+                                                               </small>
                                                        </div>
                                                </div>
                                        </div>