Switch to unified view

a/Allura/allura/lib/security.py b/Allura/allura/lib/security.py
...
...
56
    def user_has_any_role(self, user_id, project_id, role_ids):
56
    def user_has_any_role(self, user_id, project_id, role_ids):
57
        user_roles = self.user_roles(user_id=user_id, project_id=project_id)
57
        user_roles = self.user_roles(user_id=user_id, project_id=project_id)
58
        return bool(set(role_ids)  & user_roles.reaching_ids_set)
58
        return bool(set(role_ids)  & user_roles.reaching_ids_set)
59
59
60
    def users_with_named_role(self, project_id, name):
60
    def users_with_named_role(self, project_id, name):
61
        """ returns in sorted order """
61
        roles = self.project_roles(project_id)
62
        roles = self.project_roles(project_id)
62
        return RoleCache(self, roles.find(name=name)).users_that_reach
63
        return sorted(RoleCache(self, roles.find(name=name)).users_that_reach, key=lambda u:u.username)
63
64
64
    def userids_with_named_role(self, project_id, name):
65
    def userids_with_named_role(self, project_id, name):
65
        roles = self.project_roles(project_id)
66
        roles = self.project_roles(project_id)
66
        return RoleCache(self, roles.find(name=name)).userids_that_reach
67
        return RoleCache(self, roles.find(name=name)).userids_that_reach
67
68