From 33f510c4ac128329e8b9855d9a486c2ae370fe30 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 24 Jun 2022 17:53:26 +0200
Subject: [PATCH] Add view stub and button for checkpoints

---
 .../paweljong/templates/paweljong/event/detail.html |  7 +++++++
 aleksis/apps/paweljong/urls.py                      |  1 +
 aleksis/apps/paweljong/views.py                     | 13 +++++++++++++
 3 files changed, 21 insertions(+)

diff --git a/aleksis/apps/paweljong/templates/paweljong/event/detail.html b/aleksis/apps/paweljong/templates/paweljong/event/detail.html
index f553959..3ea38a2 100644
--- a/aleksis/apps/paweljong/templates/paweljong/event/detail.html
+++ b/aleksis/apps/paweljong/templates/paweljong/event/detail.html
@@ -15,6 +15,7 @@
   <h4>{{ event }}</h4>
 
   {% has_perm 'paweljong.manage_event' user event as can_manage_event %}
+  {% has_perm 'paweljong.event_checkpoint' user event as can_checkpoint %}
 
   {% if can_manage_event %}
     <p>
@@ -24,6 +25,12 @@
           {% trans "Edit" %}
         </a>
       {% endif %}
+      {% if can_checkpoint %}
+        <a href="{% url 'event_by_name_checkpoint' event.slug %}" class="btn waves-effect waves-light">
+          <i class="material-icons left iconify" data-icon="mdi:access-point-check"></i>
+          {% trans "Checkpoint" %}
+        </a>
+      {% endif %}
 
     </p>
   {% endif %}
diff --git a/aleksis/apps/paweljong/urls.py b/aleksis/apps/paweljong/urls.py
index a47f695..a834302 100644
--- a/aleksis/apps/paweljong/urls.py
+++ b/aleksis/apps/paweljong/urls.py
@@ -50,6 +50,7 @@ urlpatterns = [
     ),
     path("event/<slug:slug>", views.EventFullView.as_view(), name="event_by_name"),
     path("event/<slug:slug>/detail", views.EventDetailView.as_view(), name="event_detail_by_name"),
+    path("event/<slug:slug>/checkpoint", views.EventCheckpointView.as_view(), name="event_by_name_checkpoint"),
     path(
         "event/<slug:slug>/start",
         views.RegisterEventStart.as_view(),
diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py
index 3b1f542..46e6811 100644
--- a/aleksis/apps/paweljong/views.py
+++ b/aleksis/apps/paweljong/views.py
@@ -966,6 +966,19 @@ class PersonGroupView(PermissionRequiredMixin, FormView):
         return reverse("add_persons_to_group", kwargs={"pk": self.kwargs["pk"]})
 
 
+class EventCheckpointView(PermissionRequiredMixin, FormView):
+
+    template_name = "paweljong/event/checkpoint.html"
+    permission_required = "paweljong.can_checkpoint"
+    form_class = EventCheckpointForm
+
+    def form_valid(self, form):
+        event = Event.objects.get(id=self.kwargs["slug"])
+
+    def get_success_url(self):
+        return reverse("event_by_name_checkpoint", kwargs={"slug": self.kwargs["slug"]})
+
+
 class ViewTerms(PermissionRequiredMixin, DetailView):
 
     context_object_name = "event"
-- 
GitLab