def post(self, request): """ 发送一条信息 ``POST`` `messages/create/ <http://192.168.1.222:8080/v1/messages/create>`_ :param uid: 接受者的用户 id :param content: 发送内容 """ params = request.POST.dict() user_id = params.pop("uid") try: recipient = User.objects.get(pk=user_id) except User.DoesNotExist: return rc.NOT_HERE params['body'] = params.pop('content') params['to'] = recipient.username form = ComposeForm(params) if form.is_valid(): return form.save(request.user) return rc.BAD_REQUEST
def post_to_class(self, request): """ 发送一条班级信息(群发) ``POST`` `messages/create_to_class/ <http://192.168.1.222:8080/v1/messages/create_to_class>`_ :param class_id: 接收班级的班级 id :param content: 发送内容 """ class_id = request.POST.get("class_id") params = request.POST.dict() params['body'] = params.pop('content') group = None try: group = Group.objects.get(pk=class_id) except Group.DoesNotExist: return rc.NOT_HERE if group and params['body']: c = MessageToClass(group=group, user=request.user, content=params['body']) c.save() students = Student.objects.filter(group__pk=class_id) recipients = [s.user for s in students] params['to'] = ",".join([r.username for r in recipients]) form = ComposeForm(params) if form.is_valid(): return form.save(request.user) return rc.BAD_REQUEST
def leave_message(request, username): if request.is_ajax(): user = get_object_or_404(User, username__iexact = username) form = ComposeForm(request.POST) if form.is_valid(): msg = form.save(sender = request.user) if msg: return render_to_response('umessages/message.html', {'message': msg}) else: return HttpResponse('Failed') else: raise Http404
def test_child_msg(self): """ Test a child message """ valid_data_parent = {'to': 'john', 'body': 'Body'} form = ComposeForm(data=valid_data_parent) self.failUnless(form.is_valid()) sender = User.objects.get(username='******') parent_msg = form.save(sender) # Send a new one valid_data = {'to': 'jane', 'body': 'Body'} form = ComposeForm(data=valid_data) self.failUnless(form.is_valid()) sender = User.objects.get(username='******') msg = form.save(sender, parent_msg=parent_msg) self.failUnlessEqual(msg.parent_msg, parent_msg) self.failUnless(parent_msg.replied_at)
def test_save_msg(self): """ Test valid data """ valid_data = {'to': 'john, jane', 'body': 'Body'} form = ComposeForm(data=valid_data) self.failUnless(form.is_valid()) # Save the form. sender = get_user_model().objects.get(username='******') msg = form.save(sender) # Check if the values are set correctly self.failUnlessEqual(msg.body, valid_data['body']) self.failUnlessEqual(msg.sender, sender) self.failUnless(msg.sent_at) # Check recipients self.failUnlessEqual(msg.recipients.all()[0].username, 'jane') self.failUnlessEqual(msg.recipients.all()[1].username, 'john')
def test_save_msg(self): """ Test valid data """ valid_data = {"to": "john, jane", "body": "Body"} form = ComposeForm(data=valid_data) self.assertTrue(form.is_valid()) # Save the form. sender = get_user_model().objects.get(username="******") msg = form.save(sender) # Check if the values are set correctly self.assertEqual(msg.body, valid_data["body"]) self.assertEqual(msg.sender, sender) self.assertTrue(msg.sent_at) # Check recipients self.assertEqual(msg.recipients.all()[0].username, "jane") self.assertEqual(msg.recipients.all()[1].username, "john")
def test_save_msg(self): """ Test valid data """ valid_data = {"to": "john, jane", "body": "Body"} form = ComposeForm(data=valid_data) self.failUnless(form.is_valid()) # Save the form. sender = User.objects.get(username="******") msg = form.save(sender) # Check if the values are set correctly self.failUnlessEqual(msg.body, valid_data["body"]) self.failUnlessEqual(msg.sender, sender) self.failUnless(msg.sent_at) # Check recipients self.failUnlessEqual(msg.recipients.all()[0].username, "jane") self.failUnlessEqual(msg.recipients.all()[1].username, "john")