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
5b9e3060
Commit
5b9e3060
authored
Oct 13, 2013
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed #329. Embedded document now supports field configuration properties
parent
eb735767
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
9 deletions
+30
-9
form.py
flask_admin/contrib/mongoengine/form.py
+5
-9
test_basic.py
flask_admin/tests/mongoengine/test_basic.py
+25
-0
No files found.
flask_admin/contrib/mongoengine/form.py
View file @
5b9e3060
...
...
@@ -128,19 +128,15 @@ class CustomModelConverter(orm.ModelConverter):
return
converter
.
convert
(
model
,
field
.
field
,
kwargs
)
unbound_field
=
converter
.
convert
(
model
,
field
.
field
,
{})
kwargs
=
{
'validators'
:
[],
'filters'
:
[],
}
return
InlineFieldList
(
unbound_field
,
min_entries
=
0
,
**
kwargs
)
@
orm
.
converts
(
'EmbeddedDocumentField'
)
def
conv_EmbeddedDocument
(
self
,
model
,
field
,
kwargs
):
kwargs
=
{
'validators'
:
[],
'filters'
:
[],
'widget'
:
InlineFormWidget
()
}
# FormField does not support validators
kwargs
[
'validators'
]
=
[]
if
'widget'
not
in
kwargs
:
kwargs
[
'widget'
]
=
InlineFormWidget
()
view
=
self
.
_get_subdocument_config
(
field
.
name
)
...
...
flask_admin/tests/mongoengine/test_basic.py
View file @
5b9e3060
...
...
@@ -474,3 +474,28 @@ def test_form_flat_choices():
form
=
view
.
create_form
()
eq_
(
form
.
name
.
choices
,
[(
'a'
,
'a'
),
(
'b'
,
'b'
),
(
'c'
,
'c'
)])
def
test_form_args_embeddeddoc
():
app
,
db
,
admin
=
setup
()
class
Info
(
db
.
EmbeddedDocument
):
name
=
db
.
StringField
()
age
=
db
.
StringField
()
class
Model
(
db
.
Document
):
info
=
db
.
EmbeddedDocumentField
(
'Info'
)
timestamp
=
db
.
DateTimeField
()
view
=
CustomModelView
(
Model
,
form_args
=
{
'info'
:
{
'label'
:
'Information'
},
'timestamp'
:
{
'label'
:
'Last Updated Time'
}
}
)
admin
.
add_view
(
view
)
form
=
view
.
create_form
()
eq_
(
form
.
timestamp
.
label
.
text
,
'Last Updated Time'
)
# This is the failure
eq_
(
form
.
info
.
label
.
text
,
'Information'
)
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