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
@@ -300,6 +300,9 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): @@ -300,6 +300,9 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin):
300 def get_messages(self, request): 300 def get_messages(self, request):
301 username = request.data['email'] 301 username = request.data['email']
302 user_two = request.data['user_two'] 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 user = User.objects.get(email = username) 307 user = User.objects.get(email = username)
305 308
@@ -312,7 +315,15 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): @@ -312,7 +315,15 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin):
312 315
313 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') 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 json_r = json.dumps(serializer.data) 328 json_r = json.dumps(serializer.data)
318 json_r = json.loads(json_r) 329 json_r = json.loads(json_r)