diff --git a/src/pretix/control/forms/vouchers.py b/src/pretix/control/forms/vouchers.py index a52ba071b..013a362cd 100644 --- a/src/pretix/control/forms/vouchers.py +++ b/src/pretix/control/forms/vouchers.py @@ -1,3 +1,5 @@ +import copy + from django import forms from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ @@ -107,3 +109,17 @@ class VoucherBulkForm(VoucherForm): raise ValidationError(_('A voucher with one of this codes already exists.')) return data + + def save(self, event, *args, **kwargs): + objs = [] + for code in self.cleaned_data['codes']: + obj = copy.copy(self.instance) + obj.event = event + obj.code = code + data = dict(self.cleaned_data) + data['code'] = code + data['bulk'] = True + del data['codes'] + obj.save() + objs.append(obj) + return objs diff --git a/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html b/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html index bf8c15fe4..10ed9338d 100644 --- a/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html +++ b/src/pretix/control/templates/pretixcontrol/vouchers/bulk.html @@ -1,5 +1,6 @@ {% extends "pretixcontrol/items/base.html" %} {% load i18n %} +{% load eventsignal %} {% load bootstrap3 %} {% block title %}{% trans "Voucher" %}{% endblock %} {% block inside %} @@ -48,6 +49,7 @@ {% bootstrap_field form.tag layout="horizontal" %} {% bootstrap_field form.comment layout="horizontal" %} + {% eventsignal request.event "pretix.control.signals.voucher_form_html" form=form %}