Example #1
0
def inbox(request, pk1, pk2):
    #pk1 emisor
    #pk2 receptor
    userEmisor = User.objects.get(id=pk1)
    userReceptor = User.objects.get(id=pk2)

    if (Alumno.objects.filter(user_id=userEmisor.id).exists()):
        #quiere decir que el alumno es emisor
        emisor = Alumno.objects.get(user_id=userEmisor.id)
    else:
        #quiere decir que el profesor es el emisor
        emisor = Profesor.objects.get(user_id=userEmisor.id)

    if (Alumno.objects.filter(user_id=userReceptor.id).exists()):
        #quiere decir que el alumno es receptor
        receptor = Alumno.objects.get(user_id=userReceptor.id)
    else:
        #quiere decir que el profesor es el receptor
        receptor = Profesor.objects.get(user_id=userReceptor.id)

    if request.method == 'GET':
        mensajesNoLeidos = Inbox.get_unread_messages(userEmisor)
        conversacion = Inbox.get_conversation(userEmisor, userReceptor, 30)
        ultimoMensaje = Inbox.get_conversation(userEmisor, userReceptor, 1,
                                               True)
        for ult in ultimoMensaje:
            ultimoMensaje = ult
        print(ultimoMensaje)
        return render(
            request, 'chat/inbox.html', {
                'emisor': emisor,
                'receptor': receptor,
                'mensajesNoLeidos': mensajesNoLeidos,
                'ultimoMensaje': ultimoMensaje
            })
Example #2
0
def verConversacion(request):
    print(request.GET['idReceptor'])
    print(request.GET['idEmisor'])
    userReceptor = User.objects.get(id=request.GET['idReceptor'])
    userEmisor = User.objects.get(id=request.GET['idEmisor'])

    conversacionAux = Inbox.get_conversation(userEmisor, userReceptor, 50)
    conversacion = []
    dic = {}
    for conver in conversacionAux:
        ahora = conver.sent_at
        print(ahora)
        ahora = ahora - timedelta(hours=3)
        print(ahora)
        dic = {
            'content': conver.content,
            'sender': conver.sender.id,
            'recipient': conver.recipient.id,
            'sent_at': str(ahora.strftime('%d %b. %Y %H:%M')),
            'idMensaje': str(conver.id)
        }
        conversacion.append(dic)

    return HttpResponse(json.dumps(conversacion),
                        content_type="application/json")
Example #3
0
    def list(self, request, *args, **kwargs):
        recipient = recipient_checker(request)

        queryset = Inbox.get_conversation(request.user, recipient, reversed=True)

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)
Example #4
0
def get_conversation(user1, user2, _limit_, _reversed_, _mark_read_):
    Inbox.get_conversation(user1, user2, _limit_, _reversed_, _mark_read_)
Example #5
0
def message_details(request, pk):
    conversation = Inbox.get_conversation(request.user, pk)
    return render(request, 'blog/message_details.html', {
        'conversation': conversation,
        'pk': pk
    })