First draft of notifications system

This commit is contained in:
Fergal Moran
2013-07-14 22:11:31 +01:00
parent 121431fb31
commit be038e58e2
49 changed files with 5614 additions and 149 deletions

View File

@@ -0,0 +1,27 @@
from tastypie.authentication import SessionAuthentication
from tastypie.authorization import DjangoAuthorization
from spa.api.v1.BackboneCompatibleResource import BackboneCompatibleResource
from spa.models.notification import Notification
class NotificationResource(BackboneCompatibleResource):
class Meta:
queryset = Notification.objects.order_by('-id')
resource_name = 'notification'
authentication = SessionAuthentication()
authorization = DjangoAuthorization()
always_return_data = True
excludes = ['accepted_date', 'id']
def authorized_read_list(self, object_list, bundle):
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()
return bundle
def alter_list_data_to_serialize(self, request, data):
data['meta']['is_new'] = Notification.objects.filter(to_user=request.user, accepted_date__isnull=True).count()
return data