Commit adfe5112d7dbfaa914ae78fbb6ff5f4383ea6405

Authored by vitor-amartins
1 parent a76575ca

Adding pagination in chat messages in the app

Showing 1 changed file with 12 additions and 1 deletions   Show diff stats
api/views.py
... ... @@ -300,6 +300,9 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin):
300 300 def get_messages(self, request):
301 301 username = request.data['email']
302 302 user_two = request.data['user_two']
  303 + n_page = int(request.data['page'])
  304 + messages_by_page = int(request.data['page_size'])
  305 + #messages_by_page = 15
303 306  
304 307 user = User.objects.get(email = username)
305 308  
... ... @@ -312,7 +315,15 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin):
312 315  
313 316 messages = TalkMessages.objects.filter((Q(talk__user_one__email = username) & Q(talk__user_two__email = user_two)) | (Q(talk__user_one__email = user_two) & Q(talk__user_two__email = username))).order_by('-create_date')
314 317  
315   - serializer = ChatSerializer(messages, many = True, context = {"request_user": user})
  318 + page = []
  319 +
  320 + for i in range(messages_by_page*(n_page - 1), (n_page*messages_by_page)):
  321 + if i >= messages.count():
  322 + break;
  323 + else:
  324 + page.append(messages[i])
  325 +
  326 + serializer = ChatSerializer(page, many = True, context = {"request_user": user})
316 327  
317 328 json_r = json.dumps(serializer.data)
318 329 json_r = json.loads(json_r)
... ...