Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
 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))
Beispiel #4
0
	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))