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
e97707e4
Commit
e97707e4
authored
May 24, 2014
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #549 from pawl/master
Allow Changing DateTimeField's date-format using form_args
parents
a3ea8547
ed7a1351
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
6 deletions
+29
-6
form.py
flask_admin/contrib/sqla/form.py
+2
-4
fields.py
flask_admin/form/fields.py
+26
-1
widgets.py
flask_admin/form/widgets.py
+1
-1
No files found.
flask_admin/contrib/sqla/form.py
View file @
e97707e4
...
...
@@ -2,7 +2,6 @@ from wtforms import fields, validators
from
sqlalchemy
import
Boolean
,
Column
from
flask.ext.admin
import
form
from
flask.ext.admin.form
import
Select2Field
from
flask.ext.admin.model.form
import
(
converts
,
ModelConverterBase
,
InlineModelConverterBase
,
FieldPlaceholder
)
from
flask.ext.admin.model.fields
import
AjaxSelectField
,
AjaxSelectMultipleField
...
...
@@ -238,7 +237,7 @@ class AdminModelConverter(ModelConverterBase):
if
mapper
.
class_
==
self
.
view
.
model
and
form_choices
:
choices
=
form_choices
.
get
(
column
.
key
)
if
choices
:
return
Select2Field
(
return
form
.
Select2Field
(
choices
=
choices
,
allow_blank
=
column
.
nullable
,
**
kwargs
...
...
@@ -292,8 +291,7 @@ class AdminModelConverter(ModelConverterBase):
@
converts
(
'DateTime'
)
def
convert_datetime
(
self
,
field_args
,
**
extra
):
field_args
[
'widget'
]
=
form
.
DateTimePickerWidget
()
return
DateTimeField
(
**
field_args
)
return
form
.
DateTimeField
(
**
field_args
)
@
converts
(
'Time'
)
def
convert_time
(
self
,
field_args
,
**
extra
):
...
...
flask_admin/form/fields.py
View file @
e97707e4
...
...
@@ -7,9 +7,34 @@ from flask.ext.admin._compat import text_type, as_unicode
from
.
import
widgets
as
admin_widgets
__all__
=
[
'TimeField'
,
'Select2Field'
,
'Select2TagsField'
]
__all__
=
[
'
DateTimeField'
,
'
TimeField'
,
'Select2Field'
,
'Select2TagsField'
]
class
DateTimeField
(
fields
.
DateTimeField
):
"""
Allows modifying the datetime format of a DateTimeField using form_args.
"""
widget
=
admin_widgets
.
DateTimePickerWidget
()
def
__init__
(
self
,
label
=
None
,
validators
=
None
,
format
=
None
,
widget_format
=
None
,
**
kwargs
):
"""
Constructor
:param label:
Label
:param validators:
Field validators
:param format:
Format for text to date conversion. Defaults to '
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
:param widget_format:
Widget date format. Defaults to 'yyyy-mm-dd hh:ii:ss'
:param kwargs:
Any additional parameters
"""
super
(
DateTimeField
,
self
)
.
__init__
(
label
,
validators
,
**
kwargs
)
self
.
format
=
format
or
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
self
.
widget_format
=
widget_format
or
'yyyy-mm-dd hh:ii:ss'
class
TimeField
(
fields
.
Field
):
"""
A text field which stores a `datetime.time` object.
...
...
flask_admin/form/widgets.py
View file @
e97707e4
...
...
@@ -57,7 +57,7 @@ class DateTimePickerWidget(widgets.TextInput):
"""
def
__call__
(
self
,
field
,
**
kwargs
):
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-today-btn'
]
=
u'linked'
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