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)
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})
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")
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)
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()
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 })
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()
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 })
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 })
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 })
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()
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