Fixed serialization issue

This commit is contained in:
Raphael Michel
2016-06-03 09:58:54 +02:00
parent d46feed86f
commit d570b31ff3
4 changed files with 27 additions and 5 deletions
+17
View File
@@ -1,3 +1,6 @@
from django import forms
from django.db import models
from pretix.base.forms import I18nModelForm
from pretix.base.models import Order
@@ -6,3 +9,17 @@ class ExtendForm(I18nModelForm):
class Meta:
model = Order
fields = ['expires']
class ExporterForm(forms.Form):
def clean(self):
data = super().clean()
for k, v in data.items():
if isinstance(v, models.Model):
data[k] = v.pk
elif isinstance(v, models.QuerySet):
data[k] = [m.pk for m in v]
return data
+2 -2
View File
@@ -26,7 +26,7 @@ from pretix.base.signals import (
register_data_exporters, register_payment_providers,
register_ticket_outputs,
)
from pretix.control.forms.orders import ExtendForm
from pretix.control.forms.orders import ExporterForm, ExtendForm
from pretix.control.permissions import EventPermissionRequiredMixin
from pretix.multidomain.urlreverse import build_absolute_uri
@@ -391,7 +391,7 @@ class ExportView(EventPermissionRequiredMixin, TemplateView):
responses = register_data_exporters.send(self.request.event)
for receiver, response in responses:
ex = response(self.request.event)
ex.form = forms.Form(
ex.form = ExporterForm(
data=(self.request.POST if self.request.method == 'POST' else None)
)
ex.form.fields = ex.export_form_fields