Beispiel #1
0
    def get(self, request, format=None):
        user = request.user
        request_list = ConnectionRequest.objects.filter(from_user=user,
                                                        rejected__isnull=True)

        new_queryset = request_list.order_by('-created')
        page = self.paginate_queryset(new_queryset)
        to_send = []

        for obj in page:
            thumbnail = obj.from_user.profile_photo.url

            full_name = str(obj.from_user.first_name) + " " + str(
                obj.from_user.last_name)

            mutual_connections_list = mutual_friend_list(user, obj.from_user)
            mutual_connections = len(mutual_connections_list)
            user_id = obj.from_user.id
            to_add = {
                "thumbnail": thumbnail,
                "full_name": full_name,
                "mutual_connections": mutual_connections,
                "user_id": user_id,
                "request_id": obj.id,
            }
            to_send.append(to_add)
        print("to_send is ", to_send)
        to_send = self.get_paginated_response(to_send)
        print("to_send is ", to_send)
        return Response(to_send.data, status=200)
Beispiel #2
0
    def post(self, request, format=None):
        user = request.user
        data = request.data

        user_id = data.get('user_id')
        try:
            other_user = User.objects.get(id=user_id)
        except Exception as e:
            return Response({"msg": "user not found"}, status=404)

        mutual_connections_list = mutual_friend_list(user, other_user)
        # page = self.paginate_queryset(new_queryset)
        page = self.paginate_queryset(mutual_connections_list)
        to_send = []

        # to_send = []
        # # for obj in page:
        # #     thumbnail = obj.to_user.thumbnail.url

        # #     full_name = str(obj.to_user.first_name)+" " +str(obj.to_user.last_name)

        # #     mutual_connections_list = mutual_friend_list(user,obj.to_user)
        # #     mutual_connections = len(mutual_connections_list)
        # #     to_add = {
        # #         "thumbnail":thumbnail,
        # #         "full_name":full_name,
        # #         "mutual_connections":mutual_connections,

        # #     }
        # #     to_send.append(to_add)
        # # print("to_send is ",to_send)
        # # to_send = self.get_paginated_response(to_send)
        # # print("to_send is ",to_send)
        # # return Response(to_send.data,status=200)
        print("page is", page)
        for user_id in page:
            user = User.objects.get(id=user_id)

            thumbnail = user.profile_photo.url

            full_name = str(user.first_name) + " " + str(user.last_name)
            to_add = {
                "thumbnail": thumbnail,
                "full_name": full_name,
                "user_id": user_id,
            }

            to_send.append(to_add)

        print("to_send is", to_send)
        to_send = self.get_paginated_response(to_send)
        print("to_send is", to_send)
        return Response({
            "success": True,
            "data": to_send.data,
            "msg": "ok"
        },
                        status=200)
Beispiel #3
0
    def get(self, request, format=None):
        user = request.user

        search_query = request.query_params.get('search', None)
        if ' ' in search_query:
            first_name_query = ((search_query.split(" "))[0]).strip()
            last_name_query = ((search_query.split(" "))[1]).strip()
        else:
            first_name_query = search_query
            last_name_query = search_query
        print("search_query is", search_query)
        print("first_name_query is", first_name_query)
        print("last_name_query is", last_name_query)
        user_list = User.objects.filter(
            Q(first_name__icontains=first_name_query)
            | Q(last_name__icontains=last_name_query)
            | Q(username__icontains=first_name_query)
            | Q(username__icontains=last_name_query))
        user_list = user_list.exclude(id=user.id).distinct()
        user_list = user_list.order_by('first_name')
        page = self.paginate_queryset(user_list)
        to_send = []
        for obj in page:
            connection_status_result = connection_status(user, obj)
            thumbnail = obj.profile_photo.url

            full_name = str(obj.first_name) + " " + str(obj.last_name)

            mutual_connections_list = mutual_friend_list(user, obj)
            mutual_connections = len(mutual_connections_list)

            to_add = {
                "thumbnail": thumbnail,
                "full_name": full_name,
                "mutual_connections": mutual_connections,
                "connection_status": connection_status_result,
                "user_id": obj.id
            }

            to_send.append(to_add)

        print("to_send is ", to_send)
        people_search_result = self.get_paginated_response(to_send)
        print("to_send is ", to_send)

        return Response(
            {
                "success": True,
                "data": {
                    'people': people_search_result.data
                },
                "msg": "ok"
            },
            status=200)