def send_message(request):
    """
    ---
    request_serializer: MessageSendSerializer
    response_serializer: MessageSerializer
    responseMessages:
        - code: HTTP_DOES_NOT_EXIST
          message: doesn't exist
    """
    sdata = get_validated_serializer(request=request, serializer=MessageSendSerializer).validated_data
    user = get_user_from_validated_data(sdata)
    chat = Chat.objects.filter(Q(dialogrelations__user_1=user) | Q(dialogrelations__user_2=user)).filter(id=sdata['chat'].pk).first()
    if chat is None:
        return Response("", status=HTTP_DOES_NOT_EXIST)
    message = Message()
    message.chat = chat
    message.sender = user
    message.text = sdata['text']
    message.save()


    TCP_IP = 'localhost'
    TCP_PORT = 43455
    import json
    MSG = json.dumps(MessageContainerSerializer({ "message_type":1, "message_data":message}).data)
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((TCP_IP, TCP_PORT))
    s.send(MSG)
    print MSG
    s.close()
    return Response(MessageSerializer(message).data, status=HTTP_OK)
Esempio n. 2
0
def SendMessageView(request, pk):
    if request.method == 'POST':
        chat = get_object_or_404(Chat, pk=pk)
        text = request.POST.get('text')
        if text == '':
            return HttpResponseRedirect(reverse('chat:open_chat', args=(pk, )))
        message = Message()
        message.chat = chat
        message.text = text
        message.author = get_object_or_404(Profile, user=request.user)
        message.save()
    return HttpResponseRedirect(reverse('chat:open_chat', args=(pk, )))