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
08cb31b2
Commit
08cb31b2
authored
Sep 14, 2013
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Coerce support for Select2TagsField
parent
7cfccfc0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
5 deletions
+11
-5
fields.py
flask_admin/form/fields.py
+11
-5
No files found.
flask_admin/form/fields.py
View file @
08cb31b2
...
@@ -3,7 +3,7 @@ import datetime
...
@@ -3,7 +3,7 @@ import datetime
from
wtforms
import
fields
,
widgets
from
wtforms
import
fields
,
widgets
from
flask.ext.admin.babel
import
gettext
from
flask.ext.admin.babel
import
gettext
from
flask.ext.admin._compat
import
text_type
from
flask.ext.admin._compat
import
text_type
,
as_unicode
from
.
import
widgets
as
admin_widgets
from
.
import
widgets
as
admin_widgets
...
@@ -105,6 +105,7 @@ class Select2Field(fields.SelectField):
...
@@ -105,6 +105,7 @@ class Select2Field(fields.SelectField):
def
pre_validate
(
self
,
form
):
def
pre_validate
(
self
,
form
):
if
self
.
allow_blank
and
self
.
data
is
None
:
if
self
.
allow_blank
and
self
.
data
is
None
:
return
return
super
(
Select2Field
,
self
)
.
pre_validate
(
form
)
super
(
Select2Field
,
self
)
.
pre_validate
(
form
)
...
@@ -114,20 +115,25 @@ class Select2TagsField(fields.TextField):
...
@@ -114,20 +115,25 @@ class Select2TagsField(fields.TextField):
"""
"""
widget
=
admin_widgets
.
Select2TagsWidget
()
widget
=
admin_widgets
.
Select2TagsWidget
()
def
__init__
(
self
,
label
=
None
,
validators
=
None
,
save_as_list
=
False
,
**
kwargs
):
def
__init__
(
self
,
label
=
None
,
validators
=
None
,
save_as_list
=
False
,
coerce
=
text_type
,
**
kwargs
):
"""Initialization
"""Initialization
:param save_as_list:
:param save_as_list:
If `True` then populate ``obj`` using list else string
If `True` then populate ``obj`` using list else string
"""
"""
self
.
save_as_list
=
save_as_list
self
.
save_as_list
=
save_as_list
self
.
coerce
=
coerce
super
(
Select2TagsField
,
self
)
.
__init__
(
label
,
validators
,
**
kwargs
)
super
(
Select2TagsField
,
self
)
.
__init__
(
label
,
validators
,
**
kwargs
)
def
process_formdata
(
self
,
valuelist
):
def
process_formdata
(
self
,
valuelist
):
if
self
.
save_as_list
:
if
self
.
save_as_list
:
self
.
data
=
[
v
.
strip
(
)
for
v
in
valuelist
[
0
]
.
split
(
','
)
if
v
.
strip
()]
self
.
data
=
[
self
.
coerce
(
v
.
strip
()
)
for
v
in
valuelist
[
0
]
.
split
(
','
)
if
v
.
strip
()]
else
:
else
:
self
.
data
=
valuelist
[
0
]
self
.
data
=
self
.
coerce
(
valuelist
[
0
])
def
_value
(
self
):
def
_value
(
self
):
return
u', '
.
join
(
self
.
data
)
if
isinstance
(
self
.
data
,
list
)
else
self
.
data
if
isinstance
(
self
.
data
,
(
list
,
tuple
)):
return
u','
.
join
(
as_unicode
(
v
)
for
v
in
self
.
data
)
else
:
return
as_unicode
(
self
.
data
)
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