indexden is now optional
[oweals/karmaworld.git] / karmaworld / apps / users / views.py
index 7bd02f621cfc3ebe65b9e686e565428546f3e4d4..611920be30872810a8a150850ad2810e299f21c7 100644 (file)
@@ -6,7 +6,6 @@ from itertools import chain
 from django.contrib.auth.models import User
 from django.views.generic import TemplateView
 from django.views.generic.list import MultipleObjectMixin
-from karmaworld.apps.notes.models import Note
 from karmaworld.apps.users.models import ALL_KARMA_EVENT_CLASSES
 
 
@@ -15,40 +14,19 @@ class ProfileView(TemplateView, MultipleObjectMixin):
     context_object_name = 'user' # name passed to template
     template_name = 'user_profile.html'
 
-    @staticmethod
-    def compareProfileItems(a, b):
-        if a.__class__ == Note:
-            timestampA = a.uploaded_at
-        else:
-            timestampA = a.timestamp
-
-        if b.__class__ == Note:
-            timestampB = b.uploaded_at
-        else:
-            timestampB = b.timestamp
-
-        if timestampA < timestampB:
-            return -1
-        elif timestampA > timestampB:
-            return 1
-        else:
-            return 0
-
     def get_context_data(self, **kwargs):
-        notes = [('note', o) for o in Note.objects.filter(user=self.request.user)]
         all_events = []
         for cls in ALL_KARMA_EVENT_CLASSES:
             all_events.append(
                 [(cls.__name__, o) for o in cls.objects.filter(user=self.request.user)]
             )
-        all_events = chain.from_iterable(all_events)
 
-        result_list = sorted(chain(notes, all_events),
-                             cmp=ProfileView.compareProfileItems,
-                             key=lambda o: o[1],
+        result_list = sorted(chain.from_iterable(all_events),
+                             key=lambda o: o[1].timestamp,
                              reverse=True)
 
         kwargs['object_list'] = result_list
 
-        return super(ProfileView, self).get_context_data(**kwargs)
+        kwargs['badge'] = self.request.user.get_profile().get_badge()
 
+        return super(ProfileView, self).get_context_data(**kwargs)