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 django.utils.translation import ugettext_lazy as _
from pretix.base.models import OrderPosition from pretix.base.models import OrderPosition
from ..exporter import BaseExporter from ..exporter import BaseExporter
from ..models import Order from ..models import Order
from ..signals import register_data_exporters 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 django.utils.crypto import get_random_string
from hierarkey.forms import HierarkeyForm from hierarkey.forms import HierarkeyForm
from .validators import PlaceholderValidator
from pretix.base.models import Event from pretix.base.models import Event
from .validators import PlaceholderValidator # NOQA
logger = logging.getLogger('pretix.plugins.ticketoutputpdf') logger = logging.getLogger('pretix.plugins.ticketoutputpdf')

View File

@@ -1,7 +1,9 @@
import re import re
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.core.validators import BaseValidator from django.core.validators import BaseValidator
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from i18nfield.strings import LazyI18nString
class PlaceholderValidator(BaseValidator): class PlaceholderValidator(BaseValidator):
@@ -16,6 +18,11 @@ class PlaceholderValidator(BaseValidator):
self.limit_value = limit_value self.limit_value = limit_value
def __call__(self, 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)) data_placeholders = list(re.findall(r'({[\w\s]*})', value, re.X))
invalid_placeholders = [] invalid_placeholders = []
for placeholder in data_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 i18nfield.forms import I18nFormField, I18nTextarea
from pytz import common_timezones, timezone 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.base.models import Event, Organizer
from pretix.control.forms import ExtFileField from pretix.control.forms import ExtFileField