forked from CGM_Public/pretix_original
Return pdf_data localized to the order's locale (Z#131360)
This commit is contained in:
@@ -12,6 +12,7 @@ from rest_framework.reverse import reverse
|
|||||||
|
|
||||||
from pretix.api.serializers.i18n import I18nAwareModelSerializer
|
from pretix.api.serializers.i18n import I18nAwareModelSerializer
|
||||||
from pretix.base.channels import get_all_sales_channels
|
from pretix.base.channels import get_all_sales_channels
|
||||||
|
from pretix.base.i18n import language
|
||||||
from pretix.base.models import (
|
from pretix.base.models import (
|
||||||
Checkin, Invoice, InvoiceAddress, InvoiceLine, Order, OrderPosition,
|
Checkin, Invoice, InvoiceAddress, InvoiceLine, Order, OrderPosition,
|
||||||
Question, QuestionAnswer,
|
Question, QuestionAnswer,
|
||||||
@@ -140,20 +141,21 @@ class PdfDataSerializer(serializers.Field):
|
|||||||
res = {}
|
res = {}
|
||||||
|
|
||||||
ev = instance.subevent or instance.order.event
|
ev = instance.subevent or instance.order.event
|
||||||
# This needs to have some extra performance improvements to avoid creating hundreds of queries when
|
with language(instance.order.locale):
|
||||||
# we serialize a list.
|
# This needs to have some extra performance improvements to avoid creating hundreds of queries when
|
||||||
|
# we serialize a list.
|
||||||
|
|
||||||
if 'vars' not in self.context:
|
if 'vars' not in self.context:
|
||||||
self.context['vars'] = get_variables(self.context['request'].event)
|
self.context['vars'] = get_variables(self.context['request'].event)
|
||||||
|
|
||||||
for k, f in self.context['vars'].items():
|
for k, f in self.context['vars'].items():
|
||||||
res[k] = f['evaluate'](instance, instance.order, ev)
|
res[k] = f['evaluate'](instance, instance.order, ev)
|
||||||
|
|
||||||
if not hasattr(ev, '_cached_meta_data'):
|
if not hasattr(ev, '_cached_meta_data'):
|
||||||
ev._cached_meta_data = ev.meta_data
|
ev._cached_meta_data = ev.meta_data
|
||||||
|
|
||||||
for k, v in ev._cached_meta_data.items():
|
for k, v in ev._cached_meta_data.items():
|
||||||
res['meta:' + k] = v
|
res['meta:' + k] = v
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user