Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
1161ade3
Commit
1161ade3
authored
Jun 04, 2015
by
Priit Laes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make sure FileUploadField plays well with errors
Follow-up on issue #890
parent
2fa0d0aa
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
1 deletion
+13
-1
upload.py
flask_admin/form/upload.py
+13
-1
No files found.
flask_admin/form/upload.py
View file @
1161ade3
...
@@ -51,12 +51,21 @@ class FileUploadInput(object):
...
@@ -51,12 +51,21 @@ class FileUploadInput(object):
template
=
self
.
data_template
if
field
.
data
else
self
.
empty_template
template
=
self
.
data_template
if
field
.
data
else
self
.
empty_template
if
field
.
errors
:
template
=
self
.
empty_template
if
field
.
data
and
isinstance
(
field
.
data
,
FileStorage
):
value
=
field
.
data
.
filename
else
:
value
=
field
.
data
return
HTMLString
(
template
%
{
return
HTMLString
(
template
%
{
'text'
:
html_params
(
type
=
'text'
,
'text'
:
html_params
(
type
=
'text'
,
readonly
=
'readonly'
,
readonly
=
'readonly'
,
value
=
field
.
data
,
value
=
value
,
name
=
field
.
name
),
name
=
field
.
name
),
'file'
:
html_params
(
type
=
'file'
,
'file'
:
html_params
(
type
=
'file'
,
value
=
value
,
**
kwargs
),
**
kwargs
),
'marker'
:
'_
%
s-delete'
%
field
.
name
'marker'
:
'_
%
s-delete'
%
field
.
name
})
})
...
@@ -194,6 +203,9 @@ class FileUploadField(fields.StringField):
...
@@ -194,6 +203,9 @@ class FileUploadField(fields.StringField):
def
pre_validate
(
self
,
form
):
def
pre_validate
(
self
,
form
):
if
self
.
_is_uploaded_file
(
self
.
data
)
and
not
self
.
is_file_allowed
(
self
.
data
.
filename
):
if
self
.
_is_uploaded_file
(
self
.
data
)
and
not
self
.
is_file_allowed
(
self
.
data
.
filename
):
raise
ValidationError
(
gettext
(
'Invalid file extension'
))
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
self
.
_allow_overwrite
==
False
and
os
.
path
.
exists
(
self
.
_get_path
(
self
.
data
.
filename
)):
raise
ValidationError
(
gettext
(
'File "
%
s" already exists.'
%
self
.
data
.
filename
))
raise
ValidationError
(
gettext
(
'File "
%
s" already exists.'
%
self
.
data
.
filename
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment