forked from CGM_Public/pretix_original
Event settings API: Fix setting confirm_texts
This commit is contained in:
@@ -54,7 +54,7 @@ from pretix.base.models.items import SubEventItem, SubEventItemVariation
|
||||
from pretix.base.services.seating import (
|
||||
SeatProtected, generate_seats, validate_plan_change,
|
||||
)
|
||||
from pretix.base.settings import validate_event_settings
|
||||
from pretix.base.settings import LazyI18nStringList, validate_event_settings
|
||||
from pretix.base.signals import api_event_settings_fields
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -789,6 +789,10 @@ class EventSettingsSerializer(SettingsSerializer):
|
||||
data = super().validate(data)
|
||||
settings_dict = self.instance.freeze()
|
||||
settings_dict.update(data)
|
||||
|
||||
if data.get('confirm_texts') is not None:
|
||||
data['confirm_texts'] = LazyI18nStringList(data['confirm_texts'])
|
||||
|
||||
validate_event_settings(self.event, settings_dict)
|
||||
return data
|
||||
|
||||
|
||||
@@ -28,10 +28,14 @@ from pretix.base.reldate import RelativeDateWrapper
|
||||
|
||||
class CustomJSONEncoder(I18nJSONEncoder):
|
||||
def default(self, obj):
|
||||
from pretix.base.settings import LazyI18nStringList
|
||||
|
||||
if isinstance(obj, RelativeDateWrapper):
|
||||
return obj.to_string()
|
||||
elif isinstance(obj, File):
|
||||
return obj.name
|
||||
elif isinstance(obj, LazyI18nStringList):
|
||||
return [s.data for s in obj.data]
|
||||
if isinstance(obj, PhoneNumber):
|
||||
return str(obj)
|
||||
else:
|
||||
|
||||
@@ -1212,7 +1212,12 @@ def test_patch_event_settings(token_client, organizer, event):
|
||||
resp = token_client.patch(
|
||||
'/api/v1/organizers/{}/events/{}/settings/'.format(organizer.slug, event.slug),
|
||||
{
|
||||
'imprint_url': 'https://example.com'
|
||||
'imprint_url': 'https://example.com',
|
||||
'confirm_texts': [
|
||||
{
|
||||
'de': 'Ich bin mit den AGB einverstanden.'
|
||||
}
|
||||
]
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user