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
402e9a7a
Commit
402e9a7a
authored
Dec 18, 2018
by
Alan Hamlett
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use Markupsafe to support WTForms 3
parent
829c24db
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
12 deletions
+23
-12
_backwards.py
flask_admin/_backwards.py
+5
-0
widgets.py
flask_admin/contrib/mongoengine/widgets.py
+6
-4
widgets.py
flask_admin/contrib/sqla/widgets.py
+4
-2
upload.py
flask_admin/form/upload.py
+4
-3
widgets.py
flask_admin/model/widgets.py
+4
-3
No files found.
flask_admin/_backwards.py
View file @
402e9a7a
...
...
@@ -8,6 +8,11 @@
import
sys
import
warnings
try
:
from
wtforms.widgets
import
HTMLString
as
Markup
except
ImportError
:
from
markupsafe
import
Markup
def
get_property
(
obj
,
name
,
old_name
,
default
=
None
):
"""
...
...
flask_admin/contrib/mongoengine/widgets.py
View file @
402e9a7a
from
wtforms.widgets
import
HTMLString
,
html_params
from
wtforms.widgets
import
html_params
from
jinja2
import
escape
from
mongoengine.fields
import
GridFSProxy
,
ImageGridFsProxy
from
flask_admin._backwards
import
Markup
from
flask_admin.helpers
import
get_url
from
.
import
helpers
...
...
@@ -31,7 +32,7 @@ class MongoFileInput(object):
'marker'
:
'_
%
s-delete'
%
field
.
name
}
return
HTMLString
(
'
%
s<input
%
s>'
%
(
placeholder
,
return
Markup
(
'
%
s<input
%
s>'
%
(
placeholder
,
html_params
(
name
=
field
.
name
,
type
=
'file'
,
**
kwargs
)))
...
...
@@ -46,7 +47,8 @@ class MongoImageInput(object):
' <input type="checkbox" name="
%(marker)
s">Delete</input>'
'</div>'
)
def
__call__
(
self
,
field
,
**
kwargs
):
def
__call__
(
self
,
field
,
**
kwargs
):
kwargs
.
setdefault
(
'id'
,
field
.
id
)
placeholder
=
''
...
...
@@ -57,7 +59,7 @@ class MongoImageInput(object):
'marker'
:
'_
%
s-delete'
%
field
.
name
}
return
HTMLString
(
'
%
s<input
%
s>'
%
(
placeholder
,
return
Markup
(
'
%
s<input
%
s>'
%
(
placeholder
,
html_params
(
name
=
field
.
name
,
type
=
'file'
,
**
kwargs
)))
flask_admin/contrib/sqla/widgets.py
View file @
402e9a7a
from
wtforms.widgets.core
import
HTMLString
,
escape
from
wtforms.widgets.core
import
escape
from
flask_admin._backwards
import
Markup
class
CheckboxListInput
:
...
...
@@ -26,4 +28,4 @@ class CheckboxListInput:
'selected'
:
' checked'
if
selected
else
''
,
}
items
.
append
(
self
.
template
%
args
)
return
HTMLString
(
''
.
join
(
items
))
return
Markup
(
''
.
join
(
items
))
flask_admin/form/upload.py
View file @
402e9a7a
...
...
@@ -5,7 +5,7 @@ from werkzeug import secure_filename
from
werkzeug.datastructures
import
FileStorage
from
wtforms
import
ValidationError
,
fields
from
wtforms.widgets
import
HTMLString
,
html_params
from
wtforms.widgets
import
html_params
try
:
from
wtforms.fields.core
import
_unset_value
as
unset_value
...
...
@@ -15,6 +15,7 @@ except ImportError:
from
flask_admin.babel
import
gettext
from
flask_admin.helpers
import
get_url
from
flask_admin._backwards
import
Markup
from
flask_admin._compat
import
string_types
,
urljoin
...
...
@@ -59,7 +60,7 @@ class FileUploadInput(object):
else
:
value
=
field
.
data
or
''
return
HTMLString
(
template
%
{
return
Markup
(
template
%
{
'text'
:
html_params
(
type
=
'text'
,
readonly
=
'readonly'
,
value
=
value
,
...
...
@@ -108,7 +109,7 @@ class ImageUploadInput(object):
else
:
template
=
self
.
empty_template
return
HTMLString
(
template
%
args
)
return
Markup
(
template
%
args
)
def
get_url
(
self
,
field
):
if
field
.
thumbnail_size
:
...
...
flask_admin/model/widgets.py
View file @
402e9a7a
from
flask
import
json
from
jinja2
import
escape
from
wtforms.widgets
import
HTMLString
,
html_params
from
wtforms.widgets
import
html_params
from
flask_admin._backwards
import
Markup
from
flask_admin._compat
import
as_unicode
,
text_type
from
flask_admin.babel
import
gettext
from
flask_admin.helpers
import
get_url
...
...
@@ -64,7 +65,7 @@ class AjaxSelect2Widget(object):
minimum_input_length
=
int
(
field
.
loader
.
options
.
get
(
'minimum_input_length'
,
1
))
kwargs
.
setdefault
(
'data-minimum-input-length'
,
minimum_input_length
)
return
HTMLString
(
'<input
%
s>'
%
html_params
(
name
=
field
.
name
,
**
kwargs
))
return
Markup
(
'<input
%
s>'
%
html_params
(
name
=
field
.
name
,
**
kwargs
))
class
XEditableWidget
(
object
):
...
...
@@ -93,7 +94,7 @@ class XEditableWidget(object):
kwargs
=
self
.
get_kwargs
(
field
,
kwargs
)
return
HTMLString
(
return
Markup
(
'<a
%
s>
%
s</a>'
%
(
html_params
(
**
kwargs
),
escape
(
display_value
))
)
...
...
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