Commit 1ac36a7d authored by Staś Kycia's avatar Staś Kycia
Browse files

removed vote as option from production and added invalid token error handling

parent f5d6da1b
Loading
Loading
Loading
Loading
+8 −4
Changes for vote/views.py: 8 added lines, 4 removed lines.
Original line number Diff line number Diff line
from django.contrib import messages
from django.core.exceptions import ValidationError
from django.db.models import Exists, OuterRef, Q
from django.http import HttpResponse, Http404
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect, render
from django.utils import timezone
from django.urls import reverse

from elections.models import Election
from pages.models import FooterLink
@@ -19,7 +20,8 @@ def votings(request, token, terminal_uuid=None):
    try:
        voter = get_object_or_404(Voter, token=token)
    except ValidationError:
        raise Http404() 
        messages.error(request, "Nieprawidłowy token")
        return HttpResponseRedirect(reverse("home:index"))

    terminal = None
    if terminal_uuid is not None:
@@ -29,7 +31,8 @@ def votings(request, token, terminal_uuid=None):
                messages.error(request, "Próba nieuprawnionego wykorzystania terminala została zablokowana")
                return redirect("vote:votings", token=token)
        except ValidationError:
            raise Http404()
            messages.error(request, "Nieprawidłowy token")
            return HttpResponseRedirect(reverse("home:index"))

    now = timezone.now()

@@ -57,7 +60,8 @@ def vote(request, alias, token, terminal_uuid=None):
    try:
        voter = get_object_or_404(Voter, token=token)
    except ValidationError:
        raise Http404() 
        messages.error(request, "Nieprawidłowy token")
        return HttpResponseRedirect(reverse("home:index"))

    if Participation.objects.filter(voter=voter, election=election).exists():
        messages.error(request, "Już oddałeś głos w tym głosowaniu")
+6 −5
Changes for voters/admin.py: 6 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -3,10 +3,8 @@ from django.contrib.admin.models import LogEntry
from django.db.models import F, Q
from django.urls import reverse
from django.utils.html import format_html
from django_admin_action_forms import (
    AdminActionFormsMixin,
    action_with_form,
)
from django_admin_action_forms import AdminActionFormsMixin, action_with_form
from django.conf import settings

from mails.tasks import queue_mails_task

@@ -70,8 +68,11 @@ class VoterAdmin(AdminActionFormsMixin):
        "group",
        "get_token_status",
        "get_last_token_mail_status",
        "vote_as",
    ]

    if settings.DEBUG == True:
        list_display.append("vote_as")

    exclude = ["token", "token_generation_date", "last_email_date", "is_archived"]
    search_fields = ["name", "email"]
    list_filter = ["group", TokenStatusFilter, MailStatusFilter]