Some nicer display logic
[climbing.kerkeslager.com] / src / user_profile / models.py
index 7aeb9bf..23d9151 100644 (file)
@@ -3,6 +3,8 @@ from django.db import models
 from django.db.models.signals import post_save
 from django.dispatch import receiver
 
+from core import utils
+
 class UserProfile(models.Model):
     user = models.OneToOneField(
         User,
@@ -14,6 +16,14 @@ class UserProfile(models.Model):
     def __str__(self):
         return self.user.username
 
+    @property
+    def todos(self):
+        return utils.merge(
+            self.user.boulder_todos.order_by('name'),
+            self.user.route_todos.order_by('name'),
+            'name',
+        )
+
 @receiver(post_save, sender=User)
 def create_profile(sender, instance, **kwargs):
     profile, created = UserProfile.objects.get_or_create(user=instance)