Fix #357 -- Implement go to for vouchers (#849)

* Add Go input for vouchers on the vouchers list page (#357)

* Final fixes
This commit is contained in:
Mason Mohkami
2018-05-31 03:43:32 -07:00
committed by Raphael Michel
parent 6fe02f156a
commit 479a7d9162
3 changed files with 36 additions and 8 deletions

View File

@@ -10,6 +10,7 @@ from django.http import (
Http404, HttpResponse, HttpResponseBadRequest, HttpResponseRedirect,
JsonResponse,
)
from django.shortcuts import redirect
from django.utils.functional import cached_property
from django.utils.translation import ugettext_lazy as _
from django.views.generic import (
@@ -225,6 +226,23 @@ class VoucherCreate(EventPermissionRequiredMixin, CreateView):
return super().post(request, *args, **kwargs)
class VoucherGo(EventPermissionRequiredMixin, View):
permission = 'can_view_vouchers'
def get_voucher(self, code):
return Voucher.objects.get(code__iexact=code, event=self.request.event)
def get(self, request, *args, **kwargs):
code = request.GET.get("code", "").strip()
try:
voucher = self.get_voucher(code)
return redirect('control:event.voucher', event=request.event.slug, organizer=request.event.organizer.slug,
voucher=voucher.id)
except Voucher.DoesNotExist:
messages.error(request, _('There is no voucher with the given voucher code.'))
return redirect('control:event.vouchers', event=request.event.slug, organizer=request.event.organizer.slug)
class VoucherBulkCreate(EventPermissionRequiredMixin, CreateView):
model = Voucher
template_name = 'pretixcontrol/vouchers/bulk.html'