mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Do not try to unserialize multiple times when a setting is inherited
This commit is contained in:
@@ -417,7 +417,7 @@ class SettingsProxy:
|
||||
else:
|
||||
value = None
|
||||
if self._parent:
|
||||
value = self._parent.settings.get(key)
|
||||
value = self._parent.settings.get(key, as_type=str)
|
||||
if value is None and key in DEFAULTS:
|
||||
value = DEFAULTS[key]['default']
|
||||
if value is None and default is not None:
|
||||
|
||||
@@ -216,7 +216,7 @@ class SettingsTestCase(TestCase):
|
||||
self.assertTrue(f.name.endswith(val.name))
|
||||
f.close()
|
||||
|
||||
def test_detect_file_value(self):
|
||||
def test_unserialize_file_value(self):
|
||||
val = SimpleUploadedFile("sample_invalid_image.jpg", b"file_content", content_type="image/jpeg")
|
||||
default_storage.save(val.name, val)
|
||||
val.close()
|
||||
@@ -227,6 +227,28 @@ class SettingsTestCase(TestCase):
|
||||
self.assertTrue(f.name.endswith(val.name))
|
||||
f.close()
|
||||
|
||||
def test_autodetect_file_value(self):
|
||||
val = SimpleUploadedFile("sample_invalid_image.jpg", b"file_content", content_type="image/jpeg")
|
||||
default_storage.save(val.name, val)
|
||||
val.close()
|
||||
self.event.settings.set('test', val)
|
||||
self.event.settings._flush()
|
||||
f = self.event.settings.get('test')
|
||||
self.assertIsInstance(f, File)
|
||||
self.assertTrue(f.name.endswith(val.name))
|
||||
f.close()
|
||||
|
||||
def test_autodetect_file_value_of_parent(self):
|
||||
val = SimpleUploadedFile("sample_invalid_image.jpg", b"file_content", content_type="image/jpeg")
|
||||
default_storage.save(val.name, val)
|
||||
val.close()
|
||||
self.organizer.settings.set('test', val)
|
||||
self.organizer.settings._flush()
|
||||
f = self.event.settings.get('test')
|
||||
self.assertIsInstance(f, File)
|
||||
self.assertTrue(f.name.endswith(val.name))
|
||||
f.close()
|
||||
|
||||
def _test_serialization(self, val, as_type):
|
||||
self.event.settings.set('test', val)
|
||||
self.event.settings._flush()
|
||||
|
||||
Reference in New Issue
Block a user