diff --git a/aleksis/apps/paweljong/templates/paweljong/event/detail.html b/aleksis/apps/paweljong/templates/paweljong/event/detail.html index f553959001486dc0e850f2a090d0a614c02cb880..3ea38a295f1bf9183278f6934c5758fd4d62b495 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 a47f695f70ac5c038d3c0e4e16b795a3e1627fad..a83430272092efded259e35760b0306e544c37d9 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 3b1f54228b131fe5ce8cdce5d6d6b771ff3016e9..46e68118a2b393fac515e8324d7eeea532a00c70 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"