Switch to unified view

a/Allura/allura/lib/security.py b/Allura/allura/lib/security.py
...
...
144
            while to_visit:
144
            while to_visit:
145
                (rid, role) = to_visit.pop()
145
                (rid, role) = to_visit.pop()
146
                if rid in visited: continue
146
                if rid in visited: continue
147
                yield role
147
                yield role
148
                pr_index = self.cred.project_roles(role.project_id).index
148
                pr_index = self.cred.project_roles(role.project_id).index
149
                to_visit += [
150
                    (i, pr_index[i]) for i in pr_index[rid].roles ]
149
                for i in pr_index[rid].roles:
150
                    if i in pr_index:
151
                        to_visit.append((i, pr_index[i]))
151
        return RoleCache(self.cred, _iter())
152
        return RoleCache(self.cred, _iter())
152
153
153
    @LazyProperty
154
    @LazyProperty
154
    def reaching_ids(self):
155
    def reaching_ids(self):
155
        return [ r._id for r in self.reaching_roles ]
156
        return [ r._id for r in self.reaching_roles ]
...
...
215
216
216
def require_authenticated():
217
def require_authenticated():
217
    from allura import model as M
218
    from allura import model as M
218
    if c.user == M.User.anonymous():
219
    if c.user == M.User.anonymous():
219
        raise exc.HTTPUnauthorized()
220
        raise exc.HTTPUnauthorized()
220