Switch to unified view

a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
...
...
648
    @property
648
    @property
649
    def script_name(self):
649
    def script_name(self):
650
        return '/u/' + self.username + '/'
650
        return '/u/' + self.username + '/'
651
651
652
    def my_projects(self, role_name=None):
652
    def my_projects(self, role_name=None):
653
        '''Find the projects for which this user has a named role.
653
        """Return projects to which this user belongs.
654
654
655
        If role_name is given returns only projects for which user has a role with given name.
655
        If ``role_name`` is provided, return only projects for which user has
656
        that role.
657
656
        '''
658
        """
657
        reaching_role_ids = g.credentials.user_roles(user_id=self._id).reaching_ids_set
659
        reaching_role_ids = g.credentials.user_roles(user_id=self._id).reaching_ids_set
658
        reaching_roles = [ProjectRole.query.get(_id=i) for i in reaching_role_ids]
660
        reaching_roles = [ProjectRole.query.get(_id=i) for i in reaching_role_ids]
659
        if not role_name:
661
        if not role_name:
660
            named_roles = [r for r in reaching_roles
662
            named_roles = [r for r in reaching_roles
661
                           if r.name and r.project and not r.project.deleted]
663
                           if r.name and r.project and not r.project.deleted]
662
        else:
664
        else:
663
            named_roles = [r for r in reaching_roles
665
            named_roles = [r for r in reaching_roles
664
                           if r.name == role_name and not r.project.deleted]
666
                           if r.name == role_name and r.project and not r.project.deleted]
665
        seen_project_ids = set()
667
        seen_project_ids = set()
666
        for r in named_roles:
668
        for r in named_roles:
667
            if r.project_id in seen_project_ids: continue
669
            if r.project_id in seen_project_ids: continue
668
            seen_project_ids.add(r.project_id)
670
            seen_project_ids.add(r.project_id)
669
            yield r.project
671
            yield r.project