Beispiel #1
0
def change_friends(request, action, pk):
    if not request.user.is_authenticated():
        return redirect('chat:home')
    elif int(pk) == int(request.user.pk):
        return redirect('chat:home')
    else:
        new_user = User.objects.get(pk=pk)
        if action == 'add':

            if Chat_room.objects.filter(
                (Q(user1=request.user) & Q(user2=new_user))
                    | (Q(user2=request.user) & Q(user1=new_user))).exists():
                pass
            else:
                room = Chat_room(user1=request.user, user2=new_user)
                room.save()

            Friend.make_friend(request.user, new_user)
            Friend.make_friend(new_user, request.user)

            requestUserObj = Friend_request.objects.get(
                current_user=request.user)
            userRequestedFriendshipObj = Friend_request.objects.get(
                current_user=User.objects.get(pk=pk))

            requestUserObj.requests_received.remove(User.objects.get(pk=pk))
            userRequestedFriendshipObj.requests_sent.remove(request.user)

        elif action == 'loose':
            Friend.lose_friend(request.user, new_user)
            Friend.lose_friend(new_user, request.user)
        return redirect('chat:home')