From 4c6781f43e9f4de7ad77502632deeb4148c2dc3b Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Sun, 14 Jul 2013 22:17:22 +0100 Subject: [PATCH] Fixed notification with anonymous source --- spa/api/v1/ActivityResource.py | 2 +- spa/api/v1/NotificationResource.py | 10 +++++++--- spa/models/userprofile.py | 3 +++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/spa/api/v1/ActivityResource.py b/spa/api/v1/ActivityResource.py index 1b08363..cc0ace4 100755 --- a/spa/api/v1/ActivityResource.py +++ b/spa/api/v1/ActivityResource.py @@ -21,7 +21,7 @@ class ActivityResource(BackboneCompatibleResource): user_image = bundle.obj.user.get_small_profile_image() user_profile = bundle.obj.user.get_profile_url() else: - user_name = "Anonymous" + user_name = UserProfile.get_default_moniker() user_image = UserProfile.get_default_avatar_image() user_profile = "" diff --git a/spa/api/v1/NotificationResource.py b/spa/api/v1/NotificationResource.py index b6acb81..c4517ae 100644 --- a/spa/api/v1/NotificationResource.py +++ b/spa/api/v1/NotificationResource.py @@ -2,6 +2,7 @@ from tastypie.authentication import SessionAuthentication from tastypie.authorization import DjangoAuthorization from spa.api.v1.BackboneCompatibleResource import BackboneCompatibleResource from spa.models.notification import Notification +from spa.models.userprofile import UserProfile class NotificationResource(BackboneCompatibleResource): @@ -17,9 +18,12 @@ class NotificationResource(BackboneCompatibleResource): return object_list.filter(to_user=bundle.request.user) def dehydrate(self, bundle): - bundle.data['user_image'] = bundle.obj.from_user.get_small_profile_image() - bundle.data['user_name'] = bundle.obj.from_user.get_nice_name() - + if bundle.obj.from_user is not None: + bundle.data['user_image'] = bundle.obj.from_user.get_small_profile_image() + bundle.data['user_name'] = bundle.obj.from_user.get_nice_name() + else: + bundle.data['user_image'] = UserProfile.get_default_avatar_image() + bundle.data['user_name'] = UserProfile.get_default_moniker() return bundle def alter_list_data_to_serialize(self, request, data): diff --git a/spa/models/userprofile.py b/spa/models/userprofile.py index 1678915..b15205c 100755 --- a/spa/models/userprofile.py +++ b/spa/models/userprofile.py @@ -185,3 +185,6 @@ class UserProfile(_BaseModel): def get_default_avatar_image(cls): return urlparse.urljoin(settings.STATIC_URL, "img/default-avatar-32.png") + @classmethod + def get_default_moniker(cls): + return "Anonymous" \ No newline at end of file