diff --git a/aleksis/apps/paweljong/models.py b/aleksis/apps/paweljong/models.py index c8c5104fe991ef83dde45eed5fa03d469b3ac877..7be1d396bb1f76d53c5fea329546559bc41d5bac 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 80bd036db432323fa0bcdf3516c8d2f00a4f0f47..6e5c449346dbaad5e0dc869c885ee8cc49cf01dc 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 5e07852fce8d66549f54e0eaeea2843ddad04295..051405ea5984e456ebe595d580ba64909cb2a515 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 d30369ffcce96b4e3246a1e49dda963a4e09590b..f9813edaacb35fc3d64e71f34c5397ca6cfe8175 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