Skip to content
Snippets Groups Projects
Commit ec7c6075 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Add view for ToS

parent b4cb58bd
No related branches found
No related tags found
1 merge request!26Add view for ToS
Pipeline #75159 canceled
...@@ -38,3 +38,9 @@ def is_organiser(user: User, obj: Union[Event, EventRegistration]) -> bool: ...@@ -38,3 +38,9 @@ def is_organiser(user: User, obj: Union[Event, EventRegistration]) -> bool:
def is_event_published(user: User, obj: EventRegistration) -> bool: def is_event_published(user: User, obj: EventRegistration) -> bool:
"""Predicate which checks if the event is published.""" """Predicate which checks if the event is published."""
return obj.published return obj.published
@predicate
def is_participant(user: User, obj: Event) -> bool:
"""Predicate which checks if the user is member of the event."""
return user in obj.linked_group.members.all()
...@@ -8,7 +8,7 @@ from aleksis.core.util.predicates import ( ...@@ -8,7 +8,7 @@ from aleksis.core.util.predicates import (
) )
from .models import Event, EventRegistration, Terms, Voucher from .models import Event, EventRegistration, Terms, Voucher
from .predicates import is_event_published, is_organiser, is_own_registration, is_own_voucher from .predicates import is_event_published, is_organiser, is_own_registration, is_own_voucher, is_participant
## Vouchers ## Vouchers
...@@ -231,3 +231,6 @@ rules.add_perm("paweljong.view_menu", can_view_menu_predicate) ...@@ -231,3 +231,6 @@ rules.add_perm("paweljong.view_menu", can_view_menu_predicate)
can_retract_registration_predicate = has_person & (is_organiser) can_retract_registration_predicate = has_person & (is_organiser)
rules.add_perm("paweljong.can_retract_registration_rule", can_retract_registration_predicate) rules.add_perm("paweljong.can_retract_registration_rule", can_retract_registration_predicate)
can_view_tos_predicate = has_person & (is_participant)
rules.add_perm("paweljong.can_view_tos_rule", can_view_tos_predicate)
{% extends "core/base.html" %}
{% load material_form i18n any_js %}
{% block page_title %}{% blocktrans %}Terms and conditions{% endblocktrans %}{% endblock %}
{% block browser_title %}{% blocktrans %}Terms and conditions{% endblocktrans %}{% endblock %}
{% block content %}
{% for term in obj.terms.all %}
{{ term }}
{% endfor %}
{% endblock %}
...@@ -37,6 +37,7 @@ account_conditions = { ...@@ -37,6 +37,7 @@ account_conditions = {
urlpatterns = [ urlpatterns = [
path("event/<slug:slug>/edit", views.EditEventView.as_view(), name="edit_event_by_slug"), path("event/<slug:slug>/edit", views.EditEventView.as_view(), name="edit_event_by_slug"),
path("event/<slug:slug>/tos", views.ViewToS.as_view(), name="view_event_tos_by_slug"),
path( path(
"event/<slug:slug>/register", "event/<slug:slug>/register",
views.RegisterEventWizardView.as_view(register_forms, condition_dict=condition_dict), views.RegisterEventWizardView.as_view(register_forms, condition_dict=condition_dict),
......
...@@ -952,3 +952,13 @@ class PersonGroupView(PermissionRequiredMixin, FormView): ...@@ -952,3 +952,13 @@ class PersonGroupView(PermissionRequiredMixin, FormView):
def get_success_url(self): def get_success_url(self):
return reverse("add_persons_to_group", kwargs={"pk": self.kwargs["pk"]}) return reverse("add_persons_to_group", kwargs={"pk": self.kwargs["pk"]})
class ViewToS(PermissionRequiredMixin, FormView):
template_name = "paweljong/event/tos.html"
permission_required = "paweljong.can_view_tos_rule"
model = Event
slug_field = "slug"
def get_queryset(self):
return Event.objects.all()
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