mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
Add Question.valid_file_portrait as well as crop editor for images
This commit is contained in:
@@ -178,8 +178,7 @@ class CachedFileInput(forms.ClearableFileInput):
|
||||
return ctx
|
||||
|
||||
|
||||
class SizeFileField(forms.FileField):
|
||||
|
||||
class SizeValidationMixin:
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.max_size = kwargs.pop("max_size", None)
|
||||
super().__init__(*args, **kwargs)
|
||||
@@ -196,13 +195,12 @@ class SizeFileField(forms.FileField):
|
||||
data = super().clean(*args, **kwargs)
|
||||
if isinstance(data, UploadedFile) and self.max_size and data.size > self.max_size:
|
||||
raise forms.ValidationError(_("Please do not upload files larger than {size}!").format(
|
||||
size=SizeFileField._sizeof_fmt(self.max_size)
|
||||
size=SizeValidationMixin._sizeof_fmt(self.max_size)
|
||||
))
|
||||
return data
|
||||
|
||||
|
||||
class ExtFileField(SizeFileField):
|
||||
widget = ClearableBasenameFileInput
|
||||
class ExtValidationMixin:
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
ext_whitelist = kwargs.pop("ext_whitelist")
|
||||
@@ -220,6 +218,14 @@ class ExtFileField(SizeFileField):
|
||||
return data
|
||||
|
||||
|
||||
class SizeFileField(SizeValidationMixin, forms.FileField):
|
||||
pass
|
||||
|
||||
|
||||
class ExtFileField(ExtValidationMixin, SizeFileField):
|
||||
widget = ClearableBasenameFileInput
|
||||
|
||||
|
||||
class CachedFileField(ExtFileField):
|
||||
widget = CachedFileInput
|
||||
|
||||
|
||||
@@ -153,6 +153,7 @@ class QuestionForm(I18nModelForm):
|
||||
'valid_datetime_max',
|
||||
'valid_date_min',
|
||||
'valid_date_max',
|
||||
'valid_file_portrait',
|
||||
]
|
||||
widgets = {
|
||||
'valid_datetime_min': SplitDateTimePickerWidget(),
|
||||
|
||||
Reference in New Issue
Block a user