def get_notifs(request, **kwargs): page = kwargs.get("page", None) notif_type = kwargs.get("notif_type", None) notif_id = kwargs.get("id", None) exhausted = False user = request.user if notif_id: items = user.notifications.filter(id=notif_id) else: items = query_notifs(user, **kwargs) append_string = "" for item in items: local_context = { 'notification': item, } append_string += render_to_string('modules/notif.html', local_context, context_instance=global_context( request, token_info=False)) if append_string == "": exhausted = True local_context = { "append_string": append_string, "exhausted": exhausted, } return json.dumps(local_context)
def get_notifs(request, **kwargs): page = kwargs.get("page", None) notif_type = kwargs.get("notif_type", None) notif_id = kwargs.get("id", None) exhausted = False user = request.user if notif_id: items = user.notifications.filter(id=notif_id) else: items = query_notifs(user, **kwargs) append_string = "" for item in items: local_context = { 'notification' : item, } append_string += render_to_string('modules/notif.html', local_context, context_instance=global_context(request, token_info=False)) if append_string == "": exhausted = True local_context = { "append_string" : append_string, "exhausted" : exhausted, } return json.dumps(local_context)
def list(self, request): page = int(request.QUERY_PARAMS.get('page', 0)) limit = int(request.QUERY_PARAMS.get('limit', 10)) notif_type = request.QUERY_PARAMS.get('type', 'all') message = '' data = [] json = [] if notif_type == 'all': notifs = query_newsfeed(request.user, page=page, max_items=limit) else: notifs = query_notifs(request.user, page=page, max_items=limit, notif_type=notif_type) if not notifs: message = 'no notifications to be displayed' return Response(viewset_response(message, data)) for notif in notifs: item = {} item['id'] = notif.id item['unread'] = notif.unread item['actor'] = {} item['actor']['name'] = notif.actor.get_full_name() item['actor']['id'] = notif.actor.id item['verb'] = notif.verb item['wall'] = {} item['wall']['name'] = notif.target.wall.name item['wall']['id'] = notif.target.wall.id target_type = "post" target_name = notif.target.subject target_id = notif.target.id item['target'] = {} item['target']['type'] = target_type item['target']['name'] = target_name item['target']['id'] = target_id item['description'] = HTMLParser.HTMLParser().unescape( strip_tags(notif.action_object.description.strip())) item['timestamp'] = notif.timestamp json.append(item) data = json return Response(viewset_response(message, data))
def list(self, request): page = int(request.QUERY_PARAMS.get('page', 0)) limit = int(request.QUERY_PARAMS.get('limit', 10)) notif_type = request.QUERY_PARAMS.get('type', 'all') message='' data=[] json=[] if notif_type == 'all': notifs = query_newsfeed(request.user, page=page, max_items=limit) else: notifs = query_notifs(request.user, page=page, max_items=limit, notif_type=notif_type) if not notifs: message='no notifications to be displayed' return Response(viewset_response(message,data)) for notif in notifs: item = {} item['id'] = notif.id item['unread'] = notif.unread item['actor'] = {} item['actor']['name'] = notif.actor.get_full_name() item['actor']['id'] = notif.actor.id item['verb'] = notif.verb item['wall'] = {} item['wall']['name'] = notif.target.wall.name item['wall']['id'] = notif.target.wall.id target_type = "post" target_name = notif.target.subject target_id = notif.target.id item['target'] = {} item['target']['type'] = target_type item['target']['name'] = target_name item['target']['id'] = target_id item['description'] = HTMLParser.HTMLParser().unescape(strip_tags(notif.action_object.description.strip())) item['timestamp'] = notif.timestamp json.append(item) data=json return Response(viewset_response(message,data))