def test_create_vote_multi(self): """ TopicPollVoteManyForm """ TopicPollVote.objects.all().delete() form_data = {"choices": [self.poll_multi_choice.pk, self.poll_multi_choice2.pk]} form = TopicPollVoteManyForm(user=self.user, poll=self.poll_multi, data=form_data) self.assertTrue(form.is_valid())
def test_create_vote_multi_invalid(self): """ Limit selected choices to choice_limit """ TopicPollVote.objects.all().delete() form_data = {"choices": [self.poll_multi_choice.pk, self.poll_multi_choice2.pk, self.poll_multi_choice3.pk]} form = TopicPollVoteManyForm(user=self.user, poll=self.poll_multi, data=form_data) self.assertFalse(form.is_valid())
def test_create_vote_multi(self): """ TopicPollVoteManyForm """ TopicPollVote.objects.all().delete() form_data = {'choices': [self.poll_multi_choice.pk, self.poll_multi_choice2.pk], } form = TopicPollVoteManyForm(user=self.user, poll=self.poll_multi, data=form_data) self.assertTrue(form.is_valid())
def test_vote_poll_closed(self): """ Cant vote on closed poll """ self.poll.is_closed = True self.poll.save() form_data = {"choices": self.poll_choice.pk} form = TopicPollVoteManyForm(user=self.user, poll=self.poll, data=form_data) self.assertFalse(form.is_valid())
def test_vote_poll_closed(self): """ Cant vote on closed poll """ self.poll.is_closed = True self.poll.save() form_data = {'choices': self.poll_choice.pk, } form = TopicPollVoteManyForm(user=self.user, poll=self.poll, data=form_data) self.assertFalse(form.is_valid())
def test_create_vote_single(self): """ TopicPollVoteManyForm """ TopicPollVote.objects.all().delete() form_data = {"choices": self.poll_choice.pk} form = TopicPollVoteManyForm(user=self.user, poll=self.poll, data=form_data) self.assertTrue(form.is_valid()) form.save_m2m() self.assertEqual(len(TopicPollVote.objects.filter(choice=self.poll_choice)), 1)
def test_create_vote_multi_invalid(self): """ Limit selected choices to choice_limit """ TopicPollVote.objects.all().delete() form_data = {'choices': [self.poll_multi_choice.pk, self.poll_multi_choice2.pk, self.poll_multi_choice3.pk], } form = TopicPollVoteManyForm(user=self.user, poll=self.poll_multi, data=form_data) self.assertFalse(form.is_valid())
def test_create_vote_single(self): """ TopicPollVoteManyForm """ TopicPollVote.objects.all().delete() form_data = {'choices': self.poll_choice.pk, } form = TopicPollVoteManyForm(user=self.user, poll=self.poll, data=form_data) self.assertTrue(form.is_valid()) form.save_m2m() self.assertEqual(len(TopicPollVote.objects.filter(choice=self.poll_choice)), 1)
def test_update_vote_single(self): """ TopicPollVoteManyForm """ self.assertEqual(len(TopicPollVote.objects.filter(choice=self.poll_choice2)), 0) self.assertEqual(len(TopicPollVote.objects.filter(choice=self.poll_choice)), 2) form_data = {'choices': self.poll_choice2.pk, } form = TopicPollVoteManyForm(user=self.user, poll=self.poll, data=form_data) self.assertTrue(form.is_valid()) form.save_m2m() self.assertEqual(len(TopicPollVote.objects.filter(choice=self.poll_choice2)), 1) self.assertEqual(len(TopicPollVote.objects.filter(choice=self.poll_choice)), 1)
def poll_vote(request, pk): poll = get_object_or_404(TopicPoll, pk=pk) if not request.user.is_authenticated(): return redirect_to_login(next=poll.get_absolute_url(), login_url=settings.LOGIN_URL) form = TopicPollVoteManyForm(user=request.user, poll=poll, data=request.POST) if form.is_valid(): form.save_m2m() return redirect(request.POST.get('next', poll.get_absolute_url())) else: messages.error(request, utils.render_form_errors(form)) return redirect(request.POST.get('next', poll.get_absolute_url()))
def poll_vote(request, pk): # TODO: check if user has access to this topic/poll poll = get_object_or_404(TopicPoll, pk=pk) if not request.user.is_authenticated(): return redirect_to_login(next=poll.get_absolute_url(), login_url=settings.LOGIN_URL) form = TopicPollVoteManyForm(user=request.user, poll=poll, data=request.POST) if form.is_valid(): topic_poll_pre_vote.send(sender=poll.__class__, poll=poll, user=request.user) form.save_m2m() topic_poll_post_vote.send(sender=poll.__class__, poll=poll, user=request.user) return redirect(request.POST.get('next', poll.get_absolute_url())) messages.error(request, utils.render_form_errors(form)) return redirect(request.POST.get('next', poll.get_absolute_url()))
def poll_vote(request, pk): # TODO: check if user has access to this topic/poll poll = get_object_or_404(TopicPoll, pk=pk) if not request.user.is_authenticated(): return redirect_to_login(next=poll.get_absolute_url(), login_url=settings.LOGIN_URL) form = TopicPollVoteManyForm(user=request.user, poll=poll, data=request.POST) if form.is_valid(): topic_poll_pre_vote.send(sender=poll.__class__, poll=poll, user=request.user) form.save_m2m() topic_poll_post_vote.send(sender=poll.__class__, poll=poll, user=request.user) return redirect(request.POST.get('next', poll.get_absolute_url())) else: messages.error(request, utils.render_form_errors(form)) return redirect(request.POST.get('next', poll.get_absolute_url()))