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
ad5bc907
Commit
ad5bc907
authored
Nov 22, 2012
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Inline forms cleanup
parent
43384276
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
25 additions
and
20 deletions
+25
-20
form.py
flask_admin/contrib/mongoengine/form.py
+16
-2
fields.py
flask_admin/contrib/sqlamodel/fields.py
+2
-6
fields.py
flask_admin/model/fields.py
+3
-1
widgets.py
flask_admin/model/widgets.py
+2
-2
inline_form.html
flask_admin/templates/admin/model/inline_form.html
+2
-0
inline_form_list.html
flask_admin/templates/admin/model/inline_form_list.html
+0
-8
inline_list_base.html
flask_admin/templates/admin/model/inline_list_base.html
+0
-1
No files found.
flask_admin/contrib/mongoengine/form.py
View file @
ad5bc907
from
mongoengine
import
ReferenceField
,
EmbeddedDocumentField
from
mongoengine
import
ReferenceField
from
wtforms
import
fields
as
f
from
flask.ext.mongoengine.wtf
import
orm
,
fields
from
flask.ext.mongoengine.wtf
import
orm
,
fields
from
flask.ext.admin
import
form
from
flask.ext.admin
import
form
from
flask.ext.admin.model.fields
import
InlineFieldList
from
flask.ext.admin.model.fields
import
InlineFieldList
,
InlineModelFormField
class
CustomModelConverter
(
orm
.
ModelConverter
):
class
CustomModelConverter
(
orm
.
ModelConverter
):
...
@@ -30,6 +32,18 @@ class CustomModelConverter(orm.ModelConverter):
...
@@ -30,6 +32,18 @@ class CustomModelConverter(orm.ModelConverter):
}
}
return
InlineFieldList
(
unbound_field
,
min_entries
=
0
,
**
kwargs
)
return
InlineFieldList
(
unbound_field
,
min_entries
=
0
,
**
kwargs
)
@
orm
.
converts
(
'EmbeddedDocumentField'
)
def
conv_EmbeddedDocument
(
self
,
model
,
field
,
kwargs
):
# TODO: Fix me
kwargs
=
{
'validators'
:
[],
'filters'
:
[],
'widget'
:
InlineModelFormField
()
}
form_class
=
model_form
(
field
.
document_type_obj
,
field_args
=
{})
return
f
.
FormField
(
form_class
,
**
kwargs
)
@
orm
.
converts
(
'ReferenceField'
)
@
orm
.
converts
(
'ReferenceField'
)
def
conv_Reference
(
self
,
model
,
field
,
kwargs
):
def
conv_Reference
(
self
,
model
,
field
,
kwargs
):
kwargs
[
'widget'
]
=
form
.
Select2Widget
()
kwargs
[
'widget'
]
=
form
.
Select2Widget
()
...
...
flask_admin/contrib/sqlamodel/fields.py
View file @
ad5bc907
...
@@ -4,12 +4,11 @@
...
@@ -4,12 +4,11 @@
import
operator
import
operator
from
wtforms
import
widgets
from
wtforms
import
widgets
from
wtforms.fields
import
SelectFieldBase
,
FieldList
from
wtforms.fields
import
SelectFieldBase
from
wtforms.validators
import
ValidationError
from
wtforms.validators
import
ValidationError
from
.tools
import
get_primary_key
from
.tools
import
get_primary_key
from
flask.ext.admin.model.fields
import
InlineFieldList
,
InlineModelFormField
from
flask.ext.admin.model.fields
import
InlineFieldList
,
InlineModelFormField
from
flask.ext.admin.model.widgets
import
InlineFormListWidget
try
:
try
:
...
@@ -183,11 +182,8 @@ class QuerySelectMultipleField(QuerySelectField):
...
@@ -183,11 +182,8 @@ class QuerySelectMultipleField(QuerySelectField):
class
InlineModelFormList
(
InlineFieldList
):
class
InlineModelFormList
(
InlineFieldList
):
"""
"""
Customised ``wtforms.fields.FieldList`` class which will work with SQLAlchemy
TODO: Documentation
model instances.
"""
"""
widget
=
InlineFormListWidget
()
def
__init__
(
self
,
form
,
session
,
model
,
prop
,
**
kwargs
):
def
__init__
(
self
,
form
,
session
,
model
,
prop
,
**
kwargs
):
"""
"""
Default constructor.
Default constructor.
...
...
flask_admin/model/fields.py
View file @
ad5bc907
from
wtforms.fields
import
FieldList
,
FormField
from
wtforms.fields
import
FieldList
,
FormField
from
.widgets
import
InlineFieldListWidget
from
.widgets
import
InlineFieldListWidget
,
InlineFormWidget
class
InlineFieldList
(
FieldList
):
class
InlineFieldList
(
FieldList
):
...
@@ -55,6 +55,8 @@ class InlineModelFormField(FormField):
...
@@ -55,6 +55,8 @@ class InlineModelFormField(FormField):
Excludes model primary key from the `populate_obj` and
Excludes model primary key from the `populate_obj` and
handles `should_delete` flag.
handles `should_delete` flag.
"""
"""
widget
=
InlineFormWidget
()
def
__init__
(
self
,
form
,
pk
,
**
kwargs
):
def
__init__
(
self
,
form
,
pk
,
**
kwargs
):
super
(
InlineModelFormField
,
self
)
.
__init__
(
form
,
**
kwargs
)
super
(
InlineModelFormField
,
self
)
.
__init__
(
form
,
**
kwargs
)
...
...
flask_admin/model/widgets.py
View file @
ad5bc907
...
@@ -6,6 +6,6 @@ class InlineFieldListWidget(RenderTemplateWidget):
...
@@ -6,6 +6,6 @@ class InlineFieldListWidget(RenderTemplateWidget):
super
(
InlineFieldListWidget
,
self
)
.
__init__
(
'admin/model/inline_field_list.html'
)
super
(
InlineFieldListWidget
,
self
)
.
__init__
(
'admin/model/inline_field_list.html'
)
class
InlineForm
List
Widget
(
RenderTemplateWidget
):
class
InlineFormWidget
(
RenderTemplateWidget
):
def
__init__
(
self
):
def
__init__
(
self
):
super
(
InlineForm
ListWidget
,
self
)
.
__init__
(
'admin/model/inline_form_list
.html'
)
super
(
InlineForm
Widget
,
self
)
.
__init__
(
'admin/model/inline_form
.html'
)
flask_admin/templates/admin/model/inline_form.html
0 → 100644
View file @
ad5bc907
{% import 'admin/lib.html' as lib with context %}
{{ lib.render_form_fields(field, True) }}
flask_admin/templates/admin/model/inline_form_list.html
deleted
100644 → 0
View file @
43384276
{% import 'admin/model/inline_list_base.html' as base with context %}
{% import 'admin/lib.html' as lib with context %}
{% macro render_field(field) %}
{{ lib.render_form_fields(field, True) }}
{% endmacro %}
{{ base.render_inline_fields(field, template, render_field, check) }}
flask_admin/templates/admin/model/inline_list_base.html
View file @
ad5bc907
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
</div>
</div>
{% endfor %}
{% endfor %}
</div>
</div>
{{ field.id }}
<a
href=
"#"
class=
"btn"
onclick=
"faForm.addInlineField('{{ field.id }}', '#{{ field.id }}-fields', {{ render_template(template, render)|tojson }});"
>
{{ _gettext('Add') }} {{ field.label.text }}
</a>
<a
href=
"#"
class=
"btn"
onclick=
"faForm.addInlineField('{{ field.id }}', '#{{ field.id }}-fields', {{ render_template(template, render)|tojson }});"
>
{{ _gettext('Add') }} {{ field.label.text }}
</a>
</div>
</div>
{% endmacro %}
{% endmacro %}
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