forked from CGM_Public/pretix_original
ItemUpdate: Save a few DB queries
This commit is contained in:
@@ -41,6 +41,7 @@ class TicketLayoutItemForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.event = kwargs.pop('event')
|
||||
self.sales_channel = kwargs.pop('sales_channel')
|
||||
queryset = kwargs.pop('queryset')
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.sales_channel.identifier != 'web':
|
||||
self.fields['layout'].label = _('PDF ticket layout for {channel}').format(
|
||||
@@ -50,7 +51,7 @@ class TicketLayoutItemForm(forms.ModelForm):
|
||||
else:
|
||||
self.fields['layout'].label = _('PDF ticket layout')
|
||||
self.fields['layout'].empty_label = _('(Event default)')
|
||||
self.fields['layout'].queryset = self.event.ticket_layouts.all()
|
||||
self.fields['layout'].queryset = queryset
|
||||
self.fields['layout'].required = False
|
||||
|
||||
def save(self, commit=True):
|
||||
|
||||
@@ -64,6 +64,7 @@ def register_multievent_data(sender, **kwargs):
|
||||
@receiver(item_forms, dispatch_uid="pretix_ticketoutputpdf_item_forms")
|
||||
def control_item_forms(sender, request, item, **kwargs):
|
||||
forms = []
|
||||
queryset = sender.ticket_layouts.all()
|
||||
for k, v in sorted(list(get_all_sales_channels().items()), key=lambda a: (int(a[0] != 'web'), a[0])):
|
||||
try:
|
||||
inst = TicketLayoutItem.objects.get(item=item, sales_channel=k)
|
||||
@@ -73,6 +74,7 @@ def control_item_forms(sender, request, item, **kwargs):
|
||||
instance=inst,
|
||||
event=sender,
|
||||
sales_channel=v,
|
||||
queryset=queryset,
|
||||
data=(request.POST if request.method == "POST" else None),
|
||||
prefix="ticketlayoutitem_{}".format(k)
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user