Ejemplo n.º 1
0
def quickMessage(request):
    if request.method == 'POST':
        from_user = request.user
        to_user_username = request.POST.get('to')
        print "from", from_user
        print "to", to_user_username
        try:
            to_user = User.objects.get(username=to_user_username)
 
        except Exception:
            try:
                to_user_username = to_user_username[
                    to_user_username.rfind('(')+1:len(to_user_username)-1]
                to_user = User.objects.get(username=to_user_username)
 
            except Exception:
                messages.add_message(request, messages.ERROR,
                                 'User ' + to_user_username + " could not be found on the system, fatal error. Please contact the Project manager")
                return network(request)
 
        message = request.POST.get('message')
        if len(message.strip()) == 0:
            messages.add_message(request, messages.ERROR,
                                 "Cannot send an empty message")
            return network(request)
 
        if from_user != to_user:
            Message.send_message(from_user, to_user, message)
        messages.add_message(request, messages.SUCCESS,
                                 'Your message has been sent')
        return network(request)

    else:
        return network(request)
Ejemplo n.º 2
0
def new(request):
    if request.method == 'POST':
        from_user = request.user
        to_user_username = request.POST.get('to')
        try:
            to_user = User.objects.get(username=to_user_username)

        except Exception:
            try:
                to_user_username = to_user_username[
                    to_user_username.rfind('(')+1:len(to_user_username)-1]
                to_user = User.objects.get(username=to_user_username)

            except Exception:
                return redirect('/messages/new/')

        message = request.POST.get('message')
        if len(message.strip()) == 0:
            return redirect('/messages/new/')

        if from_user != to_user:
            Message.send_message(from_user, to_user, message)

        return redirect('/messages/{0}/'.format(to_user_username))

    else:
        conversations = Message.get_conversations(user=request.user)
        return render(request, 'messenger/new.html',
                      {'conversations': conversations})
Ejemplo n.º 3
0
 def test_sending_new_message(self):
     new_message = Message.send_message(
         self.other_user, self.user, "A short message")
     self.assertTrue(isinstance(new_message, Message))
     self.assertEqual(Message.get_conversations(self.other_user)[0]['last'],
                      new_message.date)
     self.assertEqual(new_message.message, "A short message")
Ejemplo n.º 4
0
def new(request):
    if request.method == 'POST':
        from_user = request.user
        to_user_username = request.POST.get('to')
        try:
            to_user = User.objects.get(username=to_user_username)

        except Exception:
            try:
                to_user_username = to_user_username[
                    to_user_username.rfind('(')+1:len(to_user_username)-1]
                to_user = User.objects.get(username=to_user_username)

            except Exception:
                return redirect('/messages/new/')

        message = request.POST.get('message')
        if len(message.strip()) == 0:
            return redirect('/messages/new/')

        if from_user != to_user:
            Message.send_message(from_user, to_user, message)

        return redirect('/messages/{0}/'.format(to_user_username))

    else:
        conversations = Message.get_conversations(user=request.user)
        return render(request, 'messenger/new.html',
                      {'conversations': conversations})
Ejemplo n.º 5
0
 def test_return_values(self):
     self.assertEqual(str(self.message_one), "A not that long message")
     self.assertEqual(self.message_one.message, "A not that long message")
     self.assertEqual(self.message_three.message, "A shorter message")
     self.assertEqual(Message.get_conversations(self.user)[0]['last'],
                      self.message_two.date)
     self.assertEqual(Message.get_conversations(self.other_user)[0]['last'],
                      self.message_three.date)
Ejemplo n.º 6
0
def send(request):
    # 发送消息message
    if request.method == 'POST':
        from_user = request.user
        to_user_username = request.POST.get('to')
        # 根据用户名获取用户
        to_user = User.objects.get(username=to_user_username)
        message = request.POST.get('message')
        if len(message.strip()) == 0:
            return HttpResponse()

        # 收件人不能和发件人一样
        if from_user != to_user:
            # 构造messag,发送
            msg = Message.send_message(from_user, to_user, message)

            # 返回的是一段html渲染好的代码
            return render(request, 'messenger/includes/partial_message.html',
                          {'message': msg})

        return HttpResponse()
    else:
        # 如果是get请求,直接返回bad request
        # 注意这种写法
        return HttpResponseBadRequest()
Ejemplo n.º 7
0
def messages(request, username):
    conversations = Message.get_conversations(user=request.user)
    active_conversation = username
    messages = Message.objects.filter(user=request.user, conversation__username=username)
    messages.update(is_read=True)
    for conversation in conversations:
        if conversation['user'].username == username:
            conversation['unread'] = 0
    return render(request, 'messenger/inbox.html', {
        'messages': messages,
        'conversations': conversations,
        'active': active_conversation
        })
Ejemplo n.º 8
0
def send(request):
    if request.method == 'POST':
        from_user = request.user
        to_user_username = request.POST.get('to')
        to_user = User.objects.get(username=to_user_username)
        message = request.POST.get('message')
        if len(message.strip()) == 0:
            return HttpResponse()
        if from_user != to_user:
            msg = Message.send_message(from_user, to_user, message)
            return render(request, 'messenger/includes/partial_message.html', {'message': msg})
        return HttpResponse()
    else:
        return HttpResponseBadRequest()
Ejemplo n.º 9
0
def inbox(request):
    conversations = Message.get_conversations(user=request.user)
    active_conversation = None
    messages = None
    if conversations:
        conversation = conversations[0]
        active_conversation = conversation['user'].username
        messages = Message.objects.filter(user=request.user, conversation=conversation['user'])
        messages.update(is_read=True)
        for conversation in conversations:
            if conversation['user'].username == active_conversation:
                conversation['unread'] = 0
    return render(request, 'messages/inbox.html', {
        'messages': messages,
        'conversations': conversations,
        'active': active_conversation
        })
Ejemplo n.º 10
0
def inbox(request):
    conversations = Message.get_conversations(user=request.user)
    users_list = User.objects.filter(
        is_active=True).exclude(username=request.user).order_by('username')
    active_conversation = None
    messages = None
    if conversations:
        conversation = conversations[0]
        active_conversation = conversation['user'].username
        messages = Message.objects.filter(user=request.user,
                                          conversation=conversation['user'])
        messages.update(is_read=True)
        for conversation in conversations:
            if conversation['user'].username == active_conversation:
                conversation['unread'] = 0

    return render(request, 'messenger/inbox.html', {
        'messages': messages,
        'conversations': conversations,
        'users_list': users_list,
        'active': active_conversation
        })
Ejemplo n.º 11
0
def inbox(request):
    #获取某个人的所有会话列表
    conversations = Message.get_conversations(user=request.user)
    active_conversation = None
    messages = None
    if conversations:
        # 设置打开mailbox,先看哪个会话
        conversation = conversations[0]
        active_conversation = conversation['user'].username
        # 查询所有的这个active conversation的对话列表
        messages = Message.objects.filter(user=request.user,
                                          conversation=conversation['user'])
        messages.update(is_read=True)
        for conversation in conversations:
            if conversation['user'].username == active_conversation:
                conversation['unread'] = 0

    return render(
        request, 'messenger/inbox.html', {
            'messages': messages,
            'conversations': conversations,
            'active': active_conversation
        })
Ejemplo n.º 12
0
        except Exception, e:
            try:
                to_user_username = to_user_username[
                    to_user_username.rfind('(') + 1:len(to_user_username) - 1]
                to_user = User.objects.get(username=to_user_username)

            except Exception, e:
                return redirect('/messages/new/')

        message = request.POST.get('message')
        if len(message.strip()) == 0:
            return redirect('/messages/new/')

        if from_user != to_user:
            Message.send_message(from_user, to_user, message)

        return redirect(u'/messages/{0}/'.format(to_user_username))

    else:
        conversations = Message.get_conversations(user=request.user)
        return render(request, 'messenger/new.html',
                      {'conversations': conversations})


@login_required
@ajax_required
def delete(request):
    return HttpResponse()

Ejemplo n.º 13
0
    if request.method == 'POST':
        from_user = request.user
        to_user_username = request.POST.get('to')
        try:
            to_user = User.objects.get(username=to_user_username)
        except Exception, e:
            try:
                to_user_username = to_user_username[to_user_username.rfind('(')+1:len(to_user_username)-1]
                to_user = User.objects.get(username=to_user_username)
            except Exception, e:
                return redirect('/messages/new/')
        message = request.POST.get('message')
        if len(message.strip()) == 0:
            return redirect('/messages/new/')
        if from_user != to_user:
            Message.send_message(from_user, to_user, message)
        return redirect(u'/messages/{0}/'.format(to_user_username))
    else:
        conversations = Message.get_conversations(user=request.user)
        return render(request, 'messenger/new.html', {'conversations': conversations})

@login_required
@ajax_required
def delete(request):
    return HttpResponse()

@login_required
@ajax_required
def send(request):
    if request.method == 'POST':
        from_user = request.user