Nicer display of currently logged-in user
[climbing.kerkeslager.com] / src / user_profile / views.py
index 408880e..39557a9 100644 (file)
@@ -1,8 +1,20 @@
+from django.contrib.auth.models import User
+from django.http import Http404
+from django.shortcuts import get_object_or_404
 from django.views.generic.detail import DetailView
 
-from . import models
-
 class UserProfileDetailView(DetailView):
-    model = models.UserProfile
+    model = User
+
+    def get_object(self):
+        username = self.kwargs.get('username')
+
+        if username:
+            return get_object_or_404(User, username=username)
+
+        if self.request.user.is_authenticated:
+            return self.request.user
+
+        raise Http404()
 
 user_profile_detail = UserProfileDetailView.as_view()