genkid123

Untitled

Oct 22nd, 2020
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. @action(methods=["get"], detail=False, url_path="dialog_room", url_name="dialog_and_room")
  2. def get_dialog_room(self, request):
  3. current_user = self.request.user
  4. dialog = Dialogue.objects.filter(Q(employee=current_user) | Q(student=current_user))
  5. room = Room.objects.filter(Q(user=current_user) | Q(members=current_user))
  6. dialog_room = list(chain(dialog, room))
  7. page = self.paginate_queryset(dialog_room)
  8. if page:
  9. serializer = [DialogueSerializer(page, many=True, context=self.get_serializer_context()),
  10. RoomSerializer(page, many=True)]
  11. return self.get_paginated_response(serializer.data)
  12. serializer = [DialogueSerializer(dialog, many=True, context=self.get_serializer_context()),
  13. RoomSerializer(page, many=True)]
  14. return Response(data=serializer.data, status=status.HTTP_200_OK)
  15. @action(methods=["get"], detail=False, url_path="user_dialog", url_name="users_dialog")
  16. def get_user_dialog(self, request):
  17. current_user = self.request.user
  18. print(current_user)
  19. dialog = Dialogue.objects.filter(Q(employee=current_user) | Q(student=current_user))
  20. page = self.paginate_queryset(dialog)
  21. if page:
  22. serializer = DialogueSerializer(page, many=True, context=self.get_serializer_context())
  23. return self.get_paginated_response(serializer.data)
  24. serializer = DialogueSerializer(dialog, many=True, context=self.get_serializer_context())
  25. return Response(data=serializer.data, status=status.HTTP_200_OK)
  26. @action(methods=["get"], detail=False, url_path="user_room", url_name="users_room")
  27. def get_user_room(self, request):
  28. current_user = self.request.user
  29. room = Room.objects.filter(Q(user=current_user) | Q(members=current_user))
  30. print(room)
  31. user = User.objects.exclude(username=current_user)
  32. print("User", user)
  33. page = self.paginate_queryset(room)
  34. if page:
  35. serializer = RoomSerializer(page, many=True)
  36. return self.get_paginated_response(serializer.data)
  37. serializer = RoomSerializer(room, many=True)
  38. return Response(data=serializer.data, status=status.HTTP_200_OK)
Add Comment
Please, Sign In to add comment