Switch to side-by-side view

--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -650,10 +650,12 @@
         return '/u/' + self.username + '/'
 
     def my_projects(self, role_name=None):
-        '''Find the projects for which this user has a named role.
-
-        If role_name is given returns only projects for which user has a role with given name.
-        '''
+        """Return projects to which this user belongs.
+
+        If ``role_name`` is provided, return only projects for which user has
+        that role.
+
+        """
         reaching_role_ids = g.credentials.user_roles(user_id=self._id).reaching_ids_set
         reaching_roles = [ProjectRole.query.get(_id=i) for i in reaching_role_ids]
         if not role_name:
@@ -661,7 +663,7 @@
                            if r.name and r.project and not r.project.deleted]
         else:
             named_roles = [r for r in reaching_roles
-                           if r.name == role_name and not r.project.deleted]
+                           if r.name == role_name and r.project and not r.project.deleted]
         seen_project_ids = set()
         for r in named_roles:
             if r.project_id in seen_project_ids: continue