Skip to content
Snippets Groups Projects
Verified Commit 18e38fa8 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Implement view to save checkpoint

parent f9ff735f
No related branches found
No related tags found
1 merge request!30Resolve "Checkpoint system"
......@@ -5,7 +5,7 @@ from django.contrib.auth import get_user_model
from django.contrib.syndication.views import Feed
from django.core.exceptions import ValidationError
from django.http import HttpRequest, HttpResponse
from django.shortcuts import redirect, render
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse, reverse_lazy
from django.utils import timezone
from django.utils.decorators import method_decorator
......@@ -41,7 +41,7 @@ from .forms import (
RegistrationNotificationForm,
RegistrationStatesForm,
)
from .models import Event, EventRegistration, InfoMailing, RegistrationState, Terms, Voucher
from .models import Checkpoint, Event, EventRegistration, InfoMailing, RegistrationState, Terms, Voucher
from .tables import (
AdditionalFieldsTable,
ChildGroupsTable,
......@@ -973,7 +973,23 @@ class EventCheckpointView(PermissionRequiredMixin, FormView):
form_class = EventCheckpointForm
def form_valid(self, form):
event = Event.objects.get(id=self.kwargs["slug"])
checkpoint = Checkpoint()
checkpoint.event = get_object_or_404(Event, slug=self.kwargs["slug"])
try:
checkpoint.person = Person.objects.get(user__username=form.cleaned_data["username"])
except Person.DoesNotExist:
messages.error(self.request, _("The provided username is not linked to a person."))
checkpoint.comment = form.cleaned_data["comment"]
checkpoint.timestamp = timezone.now()
if "lat" in form.cleaned_data and "lon" in form.cleaned_data:
checkpoint.lat = form.cleaned_data["lat"]
checkpoint.lon = form.cleaned_data["lon"]
checkpoint.save()
messages.success(self.request, _("Person successfully checked."))
return super().form_valid(self)
def get_success_url(self):
return reverse("event_by_name_checkpoint", kwargs={"slug": self.kwargs["slug"]})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment