mirror of
https://github.com/pretix/pretix.git
synced 2026-05-10 16:04:02 +00:00
This commit is contained in:
@@ -86,14 +86,6 @@ class TimePickerWidget(forms.TimeInput):
|
|||||||
|
|
||||||
class UploadedFileWidget(forms.ClearableFileInput):
|
class UploadedFileWidget(forms.ClearableFileInput):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
# Browsers can't recognize that the server already has a file uploaded
|
|
||||||
# Don't mark this input as being required if we already have an answer
|
|
||||||
# (this needs to be done via the attrs, otherwise we wouldn't get the "required" star on the field label)
|
|
||||||
attrs = kwargs.get('attrs', {})
|
|
||||||
if kwargs.get('required') and kwargs.get('initial'):
|
|
||||||
attrs.update({'required': None})
|
|
||||||
kwargs.update({'attrs': attrs})
|
|
||||||
|
|
||||||
self.position = kwargs.pop('position')
|
self.position = kwargs.pop('position')
|
||||||
self.event = kwargs.pop('event')
|
self.event = kwargs.pop('event')
|
||||||
self.answer = kwargs.pop('answer')
|
self.answer = kwargs.pop('answer')
|
||||||
@@ -125,6 +117,15 @@ class UploadedFileWidget(forms.ClearableFileInput):
|
|||||||
'answer': self.answer.pk,
|
'answer': self.answer.pk,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def get_context(self, name, value, attrs):
|
||||||
|
# Browsers can't recognize that the server already has a file uploaded
|
||||||
|
# Don't mark this input as being required if we already have an answer
|
||||||
|
# (this needs to be done via the attrs, otherwise we wouldn't get the "required" star on the field label)
|
||||||
|
ctx = super().get_context(name, value, attrs)
|
||||||
|
if ctx['widget']['is_initial']:
|
||||||
|
ctx['widget']['attrs']['required'] = False
|
||||||
|
return ctx
|
||||||
|
|
||||||
def format_value(self, value):
|
def format_value(self, value):
|
||||||
if self.is_initial(value):
|
if self.is_initial(value):
|
||||||
return self.FakeFile(value, self.position, self.event, self.answer)
|
return self.FakeFile(value, self.position, self.event, self.answer)
|
||||||
|
|||||||
Reference in New Issue
Block a user