Do not pass organizer settings API calls through the event's validate_settings()

This commit is contained in:
Martin Gross
2020-12-07 16:46:19 +01:00
parent 574fe9094c
commit 089938c3ee
4 changed files with 18 additions and 9 deletions

View File

@@ -17,7 +17,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 DEFAULTS, validate_settings
from pretix.base.settings import DEFAULTS, validate_event_settings
from pretix.base.signals import api_event_settings_fields
@@ -711,7 +711,7 @@ class EventSettingsSerializer(serializers.Serializer):
data = super().validate(data)
settings_dict = self.instance.freeze()
settings_dict.update(data)
validate_settings(self.event, settings_dict)
validate_event_settings(self.event, settings_dict)
return data

View File

@@ -15,7 +15,7 @@ from pretix.base.models import (
)
from pretix.base.models.seating import SeatingPlanLayoutValidator
from pretix.base.services.mail import SendMailException, mail
from pretix.base.settings import DEFAULTS, validate_settings
from pretix.base.settings import DEFAULTS, validate_organizer_settings
from pretix.helpers.urls import build_absolute_uri
@@ -262,5 +262,5 @@ class OrganizerSettingsSerializer(serializers.Serializer):
data = super().validate(data)
settings_dict = self.instance.freeze()
settings_dict.update(data)
validate_settings(self.organizer, settings_dict)
validate_organizer_settings(self.organizer, settings_dict)
return data

View File

@@ -2331,7 +2331,7 @@ class SettingsSandbox:
self._event.settings.set(self._convert_key(key), value)
def validate_settings(event, settings_dict):
def validate_event_settings(event, settings_dict):
from pretix.base.models import Event
from pretix.base.signals import validate_event_settings
@@ -2365,3 +2365,12 @@ def validate_settings(event, settings_dict):
if isinstance(event, Event):
validate_event_settings.send(sender=event, settings_dict=settings_dict)
def validate_organizer_settings(organizer, settings_dict):
# This is not doing anything for the time being.
# But earlier we called validate_event_settings for the organizer, too - and that didn't do anything for
# organizer-settings either.
#
# N.B.: When actually fleshing out this stub, adding it to the OrganizerUpdateForm should be considered.
pass

View File

@@ -25,7 +25,7 @@ from pretix.base.models import Event, Organizer, TaxRule, Team
from pretix.base.models.event import EventMetaValue, SubEvent
from pretix.base.reldate import RelativeDateField, RelativeDateTimeField
from pretix.base.settings import (
PERSON_NAME_SCHEMES, PERSON_NAME_TITLE_GROUPS, validate_settings,
PERSON_NAME_SCHEMES, PERSON_NAME_TITLE_GROUPS, validate_event_settings,
)
from pretix.control.forms import (
ExtFileField, MultipleLanguagesWidget, SlugWidget, SplitDateTimeField,
@@ -496,7 +496,7 @@ class EventSettingsForm(SettingsForm):
data = super().clean()
settings_dict = self.event.settings.freeze()
settings_dict.update(data)
validate_settings(self.event, data)
validate_event_settings(self.event, data)
return data
def __init__(self, *args, **kwargs):
@@ -585,7 +585,7 @@ class PaymentSettingsForm(SettingsForm):
data = super().clean()
settings_dict = self.obj.settings.freeze()
settings_dict.update(data)
validate_settings(self.obj, data)
validate_event_settings(self.obj, data)
return data
def __init__(self, *args, **kwargs):
@@ -717,7 +717,7 @@ class InvoiceSettingsForm(SettingsForm):
data = super().clean()
settings_dict = self.obj.settings.freeze()
settings_dict.update(data)
validate_settings(self.obj, data)
validate_event_settings(self.obj, data)
return data