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 })
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")
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)
def get_conversation(user1, user2, _limit_, _reversed_, _mark_read_): Inbox.get_conversation(user1, user2, _limit_, _reversed_, _mark_read_)
def message_details(request, pk): conversation = Inbox.get_conversation(request.user, pk) return render(request, 'blog/message_details.html', { 'conversation': conversation, 'pk': pk })