Ejemplo n.º 1
0
    def _post_valid_form(self, form: VoteForm):
        form.save(self.user)
        request = self.request
        election_id = self.election_id
        user = self.user

        # Delete session ballot data
        if BALLOT_FORM_NAME in request.session:
            del request.session[BALLOT_FORM_NAME]

        messages.success(request, f'Vote submitted for "{user.username}"!')
        response = redirect('view-results', election_id)

        # Set a cookie for anonymous voters
        if not self.user_handler.is_authenticated:
            messages.success(request, "Setting a cookie")

            election_ids = request.COOKIES.get(ELECTION_IDS_COOKIE, '')
            election_ids += f',{election_id}'
            response.set_cookie(ELECTION_IDS_COOKIE, election_ids)
        return response