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