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
ace723c5
Commit
ace723c5
authored
May 24, 2014
by
Paul Brown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add widget_format field to DateTimeField to allow modifying datetime format from form_widget_args
parent
73e294b1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
5 deletions
+21
-5
form.py
flask_admin/contrib/sqla/form.py
+2
-4
fields.py
flask_admin/form/fields.py
+18
-0
widgets.py
flask_admin/form/widgets.py
+1
-1
No files found.
flask_admin/contrib/sqla/form.py
View file @
ace723c5
...
@@ -2,7 +2,6 @@ from wtforms import fields, validators
...
@@ -2,7 +2,6 @@ from wtforms import fields, validators
from
sqlalchemy
import
Boolean
,
Column
from
sqlalchemy
import
Boolean
,
Column
from
flask.ext.admin
import
form
from
flask.ext.admin
import
form
from
flask.ext.admin.form
import
Select2Field
from
flask.ext.admin.model.form
import
(
converts
,
ModelConverterBase
,
from
flask.ext.admin.model.form
import
(
converts
,
ModelConverterBase
,
InlineModelConverterBase
,
FieldPlaceholder
)
InlineModelConverterBase
,
FieldPlaceholder
)
from
flask.ext.admin.model.fields
import
AjaxSelectField
,
AjaxSelectMultipleField
from
flask.ext.admin.model.fields
import
AjaxSelectField
,
AjaxSelectMultipleField
...
@@ -238,7 +237,7 @@ class AdminModelConverter(ModelConverterBase):
...
@@ -238,7 +237,7 @@ class AdminModelConverter(ModelConverterBase):
if
mapper
.
class_
==
self
.
view
.
model
and
form_choices
:
if
mapper
.
class_
==
self
.
view
.
model
and
form_choices
:
choices
=
form_choices
.
get
(
column
.
key
)
choices
=
form_choices
.
get
(
column
.
key
)
if
choices
:
if
choices
:
return
Select2Field
(
return
form
.
Select2Field
(
choices
=
choices
,
choices
=
choices
,
allow_blank
=
column
.
nullable
,
allow_blank
=
column
.
nullable
,
**
kwargs
**
kwargs
...
@@ -287,8 +286,7 @@ class AdminModelConverter(ModelConverterBase):
...
@@ -287,8 +286,7 @@ class AdminModelConverter(ModelConverterBase):
@
converts
(
'DateTime'
)
@
converts
(
'DateTime'
)
def
convert_datetime
(
self
,
field_args
,
**
extra
):
def
convert_datetime
(
self
,
field_args
,
**
extra
):
field_args
[
'widget'
]
=
form
.
DateTimePickerWidget
()
return
form
.
DateTimeField
(
**
field_args
)
return
DateTimeField
(
**
field_args
)
@
converts
(
'Time'
)
@
converts
(
'Time'
)
def
convert_time
(
self
,
field_args
,
**
extra
):
def
convert_time
(
self
,
field_args
,
**
extra
):
...
...
flask_admin/form/fields.py
View file @
ace723c5
...
@@ -9,7 +9,25 @@ from . import widgets as admin_widgets
...
@@ -9,7 +9,25 @@ from . import widgets as admin_widgets
__all__
=
[
'TimeField'
,
'Select2Field'
,
'Select2TagsField'
]
__all__
=
[
'TimeField'
,
'Select2Field'
,
'Select2TagsField'
]
class
DateTimeField
(
fields
.
DateTimeField
):
widget
=
admin_widgets
.
DateTimePickerWidget
()
def
__init__
(
self
,
label
=
None
,
validators
=
None
,
widget_format
=
None
,
**
kwargs
):
"""
Constructor
:param label:
Label
:param validators:
Field validators
:param widget_format:
Widget date format. Defaults to 'hh:ii:ss'
:param kwargs:
Any additional parameters
"""
super
(
DateTimeField
,
self
)
.
__init__
(
label
,
validators
,
**
kwargs
)
self
.
widget_format
=
widget_format
or
'yyyy-mm-dd hh:ii:ss'
class
TimeField
(
fields
.
Field
):
class
TimeField
(
fields
.
Field
):
"""
"""
A text field which stores a `datetime.time` object.
A text field which stores a `datetime.time` object.
...
...
flask_admin/form/widgets.py
View file @
ace723c5
...
@@ -57,7 +57,7 @@ class DateTimePickerWidget(widgets.TextInput):
...
@@ -57,7 +57,7 @@ class DateTimePickerWidget(widgets.TextInput):
"""
"""
def
__call__
(
self
,
field
,
**
kwargs
):
def
__call__
(
self
,
field
,
**
kwargs
):
kwargs
[
'data-role'
]
=
u'datetimepicker'
kwargs
[
'data-role'
]
=
u'datetimepicker'
kwargs
[
'data-date-format'
]
=
u'yyyy-mm-dd hh:ii:ss'
kwargs
[
'data-date-format'
]
=
field
.
widget_format
or
u'yyyy-mm-dd hh:ii:ss'
kwargs
[
'data-date-autoclose'
]
=
u'true'
kwargs
[
'data-date-autoclose'
]
=
u'true'
kwargs
[
'data-date-today-btn'
]
=
u'linked'
kwargs
[
'data-date-today-btn'
]
=
u'linked'
kwargs
[
'data-date-today-highlight'
]
=
u'true'
kwargs
[
'data-date-today-highlight'
]
=
u'true'
...
...
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