security.declareProtected(manage_users, 'getGroupedUsers') def getGroupedUsers(self, groups=None): """ Return all those users that are in a group """ all_dns = {} users = [] member_attrs = list(Set(GROUP_MEMBER_MAP.values())) if groups is None: groups = self.getGroups() for group_id, group_dn in groups: group_details = self.getGroupDetails(group_id) for key, vals in group_details: if key in member_attrs or key == '': # If the key is an empty string then the groups are # stored inside the user folder itself. for dn in vals: all_dns[dn] = 1 for dn in all_dns.keys(): # Only attempt to retrieve the user if their DN # matches the Users Base DN +if not dn.count(self.users_base): + user = None +else: try: user = self.getUserByDN(dn) except: user = None if user is not None: users.append(user.__of__(self)) return tuple(users)