Commit 1a883db4 authored by Serge S. Koval's avatar Serge S. Koval

Fixed #934 - Upload field fixes

parent a03e3c76
......@@ -13,6 +13,7 @@ An understanding of WTForms's Custom Widgets is helpful for understanding this c
__all__ = ['DateTimeField', 'TimeField', 'Select2Field', 'Select2TagsField']
class DateTimeField(fields.DateTimeField):
"""
Allows modifying the datetime format of a DateTimeField using form_args.
......@@ -35,6 +36,7 @@ class DateTimeField(fields.DateTimeField):
self.format = format or '%Y-%m-%d %H:%M:%S'
class TimeField(fields.Field):
"""
A text field which stores a `datetime.time` object.
......
......@@ -203,10 +203,12 @@ class FileUploadField(fields.StringField):
def pre_validate(self, form):
if self._is_uploaded_file(self.data) and not self.is_file_allowed(self.data.filename):
raise ValidationError(gettext('Invalid file extension'))
# Handle overwriting existing content
if not self._is_uploaded_file(self.data):
return
if self._allow_overwrite == False and os.path.exists(self._get_path(self.data.filename)):
if not self._allow_overwrite and os.path.exists(self._get_path(self.data.filename)):
raise ValidationError(gettext('File "%s" already exists.' % self.data.filename))
def process(self, formdata, data=unset_value):
......@@ -221,10 +223,10 @@ class FileUploadField(fields.StringField):
if self._should_delete:
self.data = None
elif valuelist:
data = valuelist[0]
for data in valuelist:
if self._is_uploaded_file(data):
self.data = data
break
def populate_obj(self, obj, name):
field = getattr(obj, name, None)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment