Exemple #1
0
    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
Exemple #2
0
    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
Exemple #3
0
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
Exemple #4
0
    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)
Exemple #5
0
    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')
Exemple #6
0
    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")
Exemple #7
0
    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")
    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')