def test_comments_move(self): comment = utils.create_comment(user=self.user, topic=self.topic) comment2 = utils.create_comment(user=self.user, topic=self.topic) to_topic = utils.create_topic(category=self.category) form_data = {'topic': to_topic.pk, 'comments': [comment.pk, comment2.pk], } form = CommentMoveForm(topic=self.topic, data=form_data) self.assertEqual(form.is_valid(), True) self.assertEqual(form.save(), list(Comment.objects.filter(topic=to_topic)))
def comment_move(request, topic_id): # TODO: comment_move signal (update topic comment_count) topic = get_object_or_404(Topic, pk=topic_id) form = CommentMoveForm(topic=topic, data=request.POST) if form.is_valid(): comments = form.save() for comment in comments: comment_posted.send(sender=comment.__class__, comment=comment, mentions=None) else: messages.error(request, render_form_errors(form)) return redirect(request.POST.get('next', topic.get_absolute_url()))