[#5342] Fixed 500 error when viewing profile for missing user

Signed-off-by: Cory Johns <johnsca@geek.net>
diff --git a/Allura/allura/ext/user_profile/user_main.py b/Allura/allura/ext/user_profile/user_main.py
index f4a1abd..f631fd5 100644
--- a/Allura/allura/ext/user_profile/user_main.py
+++ b/Allura/allura/ext/user_profile/user_main.py
@@ -5,6 +5,7 @@
 from pylons import c, g, request
 from formencode import validators
 from tg import expose, redirect, validate, response
+from webob import exc
 
 from allura import version
 from allura.app import Application
@@ -59,7 +60,10 @@
 
     @expose('jinja:allura.ext.user_profile:templates/user_index.html')
     def index(self, **kw):
-        return dict(user=c.project.user_project_of)
+        user = c.project.user_project_of
+        if not user:
+            raise exc.HTTPNotFound()
+        return dict(user=user)
     # This will be fully implemented in a future iteration
     # @expose('jinja:allura.ext.user_profile:templates/user_subscriptions.html')
     # def subscriptions(self):
diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py
index 4c6ebcd..fcea8b4 100644
--- a/Allura/allura/tests/functional/test_user_profile.py
+++ b/Allura/allura/tests/functional/test_user_profile.py
@@ -1,5 +1,6 @@
 from formencode.variabledecode import variable_encode
 
+from allura.model import Project, User
 from allura.tests import decorators as td
 from allura.tests import TestController
 
@@ -24,6 +25,14 @@
         response = self.app.get('/u/test-user/profile/')
         assert 'Email Addresses' not in response
 
+    @td.with_user_project('test-user')
+    def test_missing_user(self):
+        User.query.remove(dict(username='test-user'))
+        p = Project.query.get(shortname='u/test-user')
+        assert p is not None and p.is_user_project
+        response = self.app.get('/u/test-user/profile/', status=404)
+        assert 'Email Addresses' not in response
+
     @td.with_user_project('test-admin')
     @td.with_wiki
     def test_feed(self):