From 6b25dea7b08ceafb173ce1410eb812785d6eb878 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 11 Feb 2016 16:58:23 +0100 Subject: [PATCH] Don't show delete page in control panel if deletion is impossible --- src/pretix/control/views/vouchers.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/pretix/control/views/vouchers.py b/src/pretix/control/views/vouchers.py index 073389ebe3..bc784cc52a 100644 --- a/src/pretix/control/views/vouchers.py +++ b/src/pretix/control/views/vouchers.py @@ -35,10 +35,11 @@ class VoucherDelete(EventPermissionRequiredMixin, DeleteView): except Voucher.DoesNotExist: raise Http404(_("The requested voucher does not exist.")) - def get_context_data(self, *args, **kwargs) -> dict: - context = super().get_context_data(*args, **kwargs) - context['allowed'] = not self.get_object().is_ordered() - return context + def get(self, request, *args, **kwargs): + if self.get_object().is_ordered(): + messages.error(request, _('A voucher can not be deleted if it already has been redeemed.')) + return HttpResponseRedirect(self.get_success_url()) + super().get(request, *args, **kwargs) @transaction.atomic() def delete(self, request, *args, **kwargs):