From de2b98bc1a49952c37be4996d0554e0d11b264d6 Mon Sep 17 00:00:00 2001 From: Tom Teichler <tom.teichler@teckids.org> Date: Mon, 24 Oct 2022 21:48:19 +0200 Subject: [PATCH] Display individual price at event detail page --- aleksis/apps/paweljong/models.py | 9 +++++++++ .../apps/paweljong/templates/paweljong/event/detail.html | 2 +- .../apps/paweljong/templates/paweljong/event/full.html | 2 +- aleksis/apps/paweljong/views.py | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/aleksis/apps/paweljong/models.py b/aleksis/apps/paweljong/models.py index c8c5104..7be1d39 100644 --- a/aleksis/apps/paweljong/models.py +++ b/aleksis/apps/paweljong/models.py @@ -188,6 +188,15 @@ class Event(ExtensibleModel): def get_absolute_url(self): return reverse("event_by_name", kwargs={"slug": self.slug}) + def individual_cost(self, request=None): + if request and request.user.is_authenticated: + if Voucher.objects.filter(event=self, person=request.user.person, used=False).exists(): + voucher = Voucher.objects.get(event=self, person=request.user.person, used=False) + individual_cost = voucher.discount * self.cost / 100 + return individual_cost + else: + return self.cost + @property def booked_percentage(self): return self.linked_group.members.count() / self.max_participants * 100 diff --git a/aleksis/apps/paweljong/templates/paweljong/event/detail.html b/aleksis/apps/paweljong/templates/paweljong/event/detail.html index 80bd036..6e5c449 100644 --- a/aleksis/apps/paweljong/templates/paweljong/event/detail.html +++ b/aleksis/apps/paweljong/templates/paweljong/event/detail.html @@ -50,7 +50,7 @@ <tr> <td><i class="material-icons small">money</i></td> <td colspan="2">{% trans "Participation fee (all inclusive)" %}</td> - <td>{{ event.cost }}</td> + <td>{{ individual_cost }}</td> </tr> <tr> <td><i class="material-icons small">group</i></td> diff --git a/aleksis/apps/paweljong/templates/paweljong/event/full.html b/aleksis/apps/paweljong/templates/paweljong/event/full.html index 5e07852..051405e 100644 --- a/aleksis/apps/paweljong/templates/paweljong/event/full.html +++ b/aleksis/apps/paweljong/templates/paweljong/event/full.html @@ -34,7 +34,7 @@ <tr> <td><i class="material-icons small">money</i></td> <td colspan="2">{% trans "Participation fee (all inclusive)" %}</td> - <td>{{ event.cost }}</td> + <td>{{ individual_cost }}</td> </tr> <tr> <td><i class="material-icons small">group</i></td> diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py index d30369f..f9813ed 100644 --- a/aleksis/apps/paweljong/views.py +++ b/aleksis/apps/paweljong/views.py @@ -691,6 +691,8 @@ class EventFullView(PermissionRequiredMixin, DetailView): context["can_register"] = context["event"].can_register(request=self.request) context["is_authenticated"] = self.request.user.is_authenticated + context["individual_cost"] = context["event"].individual_cost(request=self.request) + return context -- GitLab