From 10c18c5cc9919ca0c342adaf1b767f6d8dd5fba3 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 11 Jul 2016 19:30:29 +0200 Subject: [PATCH] Added signals to VoucherBulkForm to ease extension --- src/pretix/control/forms/vouchers.py | 16 ++++++++++++++ .../pretixcontrol/vouchers/bulk.html | 2 ++ src/pretix/control/views/vouchers.py | 21 ++++++++----------- 3 files changed, 27 insertions(+), 12 deletions(-) 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 %}