Example #1
0
    def test_mensajes_unread(self):
        Inbox.send_message(self.u1, self.u2, "Mensaje Mensaje Mensaje")

        unread_messages = Inbox.get_unread_messages(self.u1)
        unread_messages2 = Inbox.get_unread_messages(self.u2)

        self.assertEqual(unread_messages.count(), 0)
        self.assertEqual(unread_messages2.count(), 1)
Example #2
0
    def test_leer_mensajes(self):
        Inbox.send_message(self.u2, self.u1, "Mensaje Mensaje Mensaje")

        unread_messages = Inbox.get_unread_messages(self.u1)
        self.assertEqual(unread_messages.count(), 1)

        message = Inbox.read_message(unread_messages[0].id)
        unread_messages_after = Inbox.get_unread_messages(self.u1)

        self.assertEqual(message, "Mensaje Mensaje Mensaje")
        self.assertEqual(unread_messages_after.count(), 0)
Example #3
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 #4
0
def ocultarMensajes(request):
    user = User.objects.get(id=request.GET['id'])
    data = {}

    if not (user.is_staff):
        if (Alumno.objects.filter(user_id=user.id).exists()):
            alumno = Alumno.objects.get(user_id=user.id)
            data['profesor_id'] = str(alumno.profesor_id.user_id)
            d = False
            data['ocultar'] = d
            p = False
            data['profesor'] = p
            mensajesNoLeidos = Inbox.get_unread_messages(alumno.user_id)
            c = len(mensajesNoLeidos)
            data['count'] = c
        elif (Profesor.objects.filter(user_id=user.id).exists()):
            profesor = Profesor.objects.get(user_id=user.id)
            data['profesor_id'] = profesor.user_id
            d = False
            data['ocultar'] = d
            p = True
            data['profesor'] = p
            mensajesNoLeidos = Inbox.get_unread_messages(profesor.user_id)
            c = len(mensajesNoLeidos)
            data['count'] = c
    else:
        p = None
        data['profesor_id'] = p
        d = True
        data['ocultar'] = d
        p = False
        data['profesor'] = p
        c = 0
        data['count'] = c

    print(data['ocultar'])

    return HttpResponse(json.dumps(data), content_type="application/json")
Example #5
0
def obtenerUltimosMensajes(request):
    userReceptor = User.objects.get(id=request.GET.get('idReceptor', None))
    userEmisor = User.objects.get(id=request.GET.get('idEmisor', None))

    mensajesNoLeidosAux = Inbox.get_unread_messages(userEmisor)
    mensajesNoLeidos = []
    dic = {}
    for msj in mensajesNoLeidosAux:
        ahora = msj.sent_at
        ahora = ahora - timedelta(hours=3)
        dic = {
            'content': msj.content,
            'sender': msj.sender.id,
            'recipient': msj.recipient.id,
            'sent_at': str(ahora.strftime('%d %b. %Y %H:%M')),
            'idMensaje': str(msj.id)
        }
        mensajesNoLeidos.append(dic)

    return HttpResponse(json.dumps(mensajesNoLeidos),
                        content_type="application/json")