Switch to unified view

a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
...
...
579
579
580
    def parent_roles(self):
580
    def parent_roles(self):
581
        return self.query.find({'roles': self._id}).all()
581
        return self.query.find({'roles': self._id}).all()
582
582
583
    def child_roles(self):
583
    def child_roles(self):
584
        return self.query.find({'_id': {'$in':self.roles}}).all()
584
        to_check = []+self.roles
585
        found_roles = []
586
        while to_check:
587
            checking = to_check.pop()
588
            for role in self.query.find({'_id': checking}).all():
589
                if role not in found_roles:
590
                    found_roles.append(role)
591
                    to_check=to_check+role.roles
592
        return found_roles
585
593
586
    def users_with_role(self, project=None):
594
    def users_with_role(self, project=None):
587
        if not project:
595
        if not project:
588
            project = c.project
596
            project = c.project
589
        return self.query.find(dict(project_id=project._id,
597
        return self.query.find(dict(project_id=project._id,