Small refinements on the previous commit

This commit is contained in:
Raphael Michel
2017-04-14 18:05:02 +02:00
parent bd5337a2c2
commit 92aa65a839
4 changed files with 11 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ from django.dispatch import receiver
from django.utils.translation import ugettext_lazy as _
from pretix.base.models import OrderPosition
from ..exporter import BaseExporter
from ..models import Order
from ..signals import register_data_exporters

View File

@@ -6,9 +6,10 @@ from django.utils import six
from django.utils.crypto import get_random_string
from hierarkey.forms import HierarkeyForm
from .validators import PlaceholderValidator
from pretix.base.models import Event
from .validators import PlaceholderValidator # NOQA
logger = logging.getLogger('pretix.plugins.ticketoutputpdf')

View File

@@ -1,7 +1,9 @@
import re
from django.core.exceptions import ValidationError
from django.core.validators import BaseValidator
from django.utils.translation import ugettext_lazy as _
from i18nfield.strings import LazyI18nString
class PlaceholderValidator(BaseValidator):
@@ -16,6 +18,11 @@ class PlaceholderValidator(BaseValidator):
self.limit_value = limit_value
def __call__(self, value):
if isinstance(value, LazyI18nString):
for l, v in value.data.items():
self.__call__(v)
return
data_placeholders = list(re.findall(r'({[\w\s]*})', value, re.X))
invalid_placeholders = []
for placeholder in data_placeholders:

View File

@@ -7,7 +7,7 @@ from django.utils.translation import ugettext_lazy as _
from i18nfield.forms import I18nFormField, I18nTextarea
from pytz import common_timezones, timezone
from pretix.base.forms import I18nModelForm, SettingsForm, PlaceholderValidator
from pretix.base.forms import I18nModelForm, PlaceholderValidator, SettingsForm
from pretix.base.models import Event, Organizer
from pretix.control.forms import ExtFileField