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
cd699378
Commit
cd699378
authored
Mar 10, 2014
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed regression with inline form configuration
parent
3bf7e239
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
19 deletions
+14
-19
fields.py
flask_admin/contrib/mongoengine/fields.py
+3
-2
form.py
flask_admin/contrib/mongoengine/form.py
+3
-6
fields.py
flask_admin/contrib/sqla/fields.py
+4
-7
fields.py
flask_admin/model/fields.py
+2
-1
widgets.py
flask_admin/model/widgets.py
+2
-3
No files found.
flask_admin/contrib/mongoengine/fields.py
View file @
cd699378
...
@@ -17,11 +17,12 @@ class ModelFormField(fields.FormField):
...
@@ -17,11 +17,12 @@ class ModelFormField(fields.FormField):
"""
"""
Customized ModelFormField for MongoEngine EmbeddedDocuments.
Customized ModelFormField for MongoEngine EmbeddedDocuments.
"""
"""
def
__init__
(
self
,
model
,
view
,
*
args
,
**
kwargs
):
def
__init__
(
self
,
model
,
view
,
form_class
,
form_opts
=
None
,
**
kwargs
):
super
(
ModelFormField
,
self
)
.
__init__
(
*
arg
s
,
**
kwargs
)
super
(
ModelFormField
,
self
)
.
__init__
(
form_clas
s
,
**
kwargs
)
self
.
model
=
model
self
.
model
=
model
self
.
view
=
view
self
.
view
=
view
self
.
form_opts
=
form_opts
def
populate_obj
(
self
,
obj
,
name
):
def
populate_obj
(
self
,
obj
,
name
):
candidate
=
getattr
(
obj
,
name
,
None
)
candidate
=
getattr
(
obj
,
name
,
None
)
...
...
flask_admin/contrib/mongoengine/form.py
View file @
cd699378
...
@@ -137,11 +137,8 @@ class CustomModelConverter(orm.ModelConverter):
...
@@ -137,11 +137,8 @@ class CustomModelConverter(orm.ModelConverter):
view
=
self
.
_get_subdocument_config
(
field
.
name
)
view
=
self
.
_get_subdocument_config
(
field
.
name
)
if
'widget'
not
in
kwargs
:
form_opts
=
form
.
FormOpts
(
widget_args
=
getattr
(
view
,
'form_widget_args'
,
None
),
form_opts
=
form
.
FormOpts
(
widget_args
=
getattr
(
view
,
'form_widget_args'
,
None
),
form_rules
=
view
.
_form_rules
)
form_rules
=
view
.
_form_rules
)
kwargs
[
'widget'
]
=
InlineFormWidget
(
form_opts
)
form_class
=
view
.
get_form
()
form_class
=
view
.
get_form
()
if
form_class
is
None
:
if
form_class
is
None
:
...
@@ -155,7 +152,7 @@ class CustomModelConverter(orm.ModelConverter):
...
@@ -155,7 +152,7 @@ class CustomModelConverter(orm.ModelConverter):
form_class
=
view
.
postprocess_form
(
form_class
)
form_class
=
view
.
postprocess_form
(
form_class
)
return
ModelFormField
(
field
.
document_type_obj
,
view
,
form_class
,
**
kwargs
)
return
ModelFormField
(
field
.
document_type_obj
,
view
,
form_class
,
form_opts
=
form_opts
,
**
kwargs
)
@
orm
.
converts
(
'ReferenceField'
)
@
orm
.
converts
(
'ReferenceField'
)
def
conv_Reference
(
self
,
model
,
field
,
kwargs
):
def
conv_Reference
(
self
,
model
,
field
,
kwargs
):
...
...
flask_admin/contrib/sqla/fields.py
View file @
cd699378
...
@@ -188,7 +188,7 @@ class InlineModelFormList(InlineFieldList):
...
@@ -188,7 +188,7 @@ class InlineModelFormList(InlineFieldList):
Form field type. Override to use custom field for each inline form
Form field type. Override to use custom field for each inline form
"""
"""
def
__init__
(
self
,
form
,
session
,
model
,
prop
,
inline_view
,
form_widget
=
None
,
**
kwargs
):
def
__init__
(
self
,
form
,
session
,
model
,
prop
,
inline_view
,
**
kwargs
):
"""
"""
Default constructor.
Default constructor.
...
@@ -212,13 +212,10 @@ class InlineModelFormList(InlineFieldList):
...
@@ -212,13 +212,10 @@ class InlineModelFormList(InlineFieldList):
self
.
_pk
=
get_primary_key
(
model
)
self
.
_pk
=
get_primary_key
(
model
)
# Generate inline form field
# Generate inline form field
if
form_widget
is
None
:
form_opts
=
FormOpts
(
widget_args
=
getattr
(
inline_view
,
'form_widget_args'
,
None
),
form_opts
=
FormOpts
(
widget_args
=
getattr
(
inline_view
,
'form_widget_args'
,
None
),
form_rules
=
inline_view
.
_form_rules
)
form_rules
=
inline_view
.
_form_rules
)
form_widget
=
InlineFormWidget
(
form_opts
)
form_field
=
self
.
form_field_type
(
form
,
self
.
_pk
,
form_opts
=
form_opts
)
form_field
=
self
.
form_field_type
(
form
,
self
.
_pk
,
widget
=
form_widget
)
super
(
InlineModelFormList
,
self
)
.
__init__
(
form_field
,
**
kwargs
)
super
(
InlineModelFormList
,
self
)
.
__init__
(
form_field
,
**
kwargs
)
...
...
flask_admin/model/fields.py
View file @
cd699378
...
@@ -102,10 +102,11 @@ class InlineModelFormField(FormField):
...
@@ -102,10 +102,11 @@ class InlineModelFormField(FormField):
"""
"""
widget
=
InlineFormWidget
()
widget
=
InlineFormWidget
()
def
__init__
(
self
,
form_class
,
pk
,
**
kwargs
):
def
__init__
(
self
,
form_class
,
pk
,
form_opts
=
None
,
**
kwargs
):
super
(
InlineModelFormField
,
self
)
.
__init__
(
form_class
,
**
kwargs
)
super
(
InlineModelFormField
,
self
)
.
__init__
(
form_class
,
**
kwargs
)
self
.
_pk
=
pk
self
.
_pk
=
pk
self
.
form_opts
=
form_opts
def
get_pk
(
self
):
def
get_pk
(
self
):
return
getattr
(
self
.
form
,
self
.
_pk
)
.
data
return
getattr
(
self
.
form
,
self
.
_pk
)
.
data
...
...
flask_admin/model/widgets.py
View file @
cd699378
...
@@ -12,12 +12,11 @@ class InlineFieldListWidget(RenderTemplateWidget):
...
@@ -12,12 +12,11 @@ class InlineFieldListWidget(RenderTemplateWidget):
class
InlineFormWidget
(
RenderTemplateWidget
):
class
InlineFormWidget
(
RenderTemplateWidget
):
def
__init__
(
self
,
form_opts
=
None
):
def
__init__
(
self
):
super
(
InlineFormWidget
,
self
)
.
__init__
(
'admin/model/inline_form.html'
)
super
(
InlineFormWidget
,
self
)
.
__init__
(
'admin/model/inline_form.html'
)
self
.
form_opts
=
form_opts
def
__call__
(
self
,
field
,
**
kwargs
):
def
__call__
(
self
,
field
,
**
kwargs
):
kwargs
.
setdefault
(
'form_opts'
,
self
.
form_opts
)
kwargs
.
setdefault
(
'form_opts'
,
getattr
(
field
,
'form_opts'
,
None
)
)
return
super
(
InlineFormWidget
,
self
)
.
__call__
(
field
,
**
kwargs
)
return
super
(
InlineFormWidget
,
self
)
.
__call__
(
field
,
**
kwargs
)
...
...
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