fields: add support for prefilling with datetime.time() values (#22969)
This commit is contained in:
parent
128ac6b5c2
commit
1745e14e0a
|
@ -97,3 +97,9 @@ def test_prefill_formula_date_value():
|
|||
|
||||
field.prefill = {'type': 'formula', 'value': 'utils.add_days("2016-01-01", 10)'}
|
||||
assert field.get_prefill_value() == ('2016-01-11', False)
|
||||
|
||||
def test_prefill_formula_time_value():
|
||||
pub.substitutions.get_context_variables = lambda: {}
|
||||
field = fields.Field()
|
||||
field.prefill = {'type': 'formula', 'value': 'utils.make_datetime("2018-04-04 10:05").time()'}
|
||||
assert field.get_prefill_value() == ('10:05 a.m.', False)
|
||||
|
|
|
@ -27,6 +27,8 @@ from HTMLParser import HTMLParser
|
|||
from quixote import get_request, get_publisher
|
||||
from quixote.html import htmltext, TemplateIO
|
||||
|
||||
from django.utils.formats import date_format as django_date_format
|
||||
|
||||
from qommon import _
|
||||
from qommon import evalutils
|
||||
from qommon.form import *
|
||||
|
@ -309,6 +311,8 @@ class Field(object):
|
|||
ret = eval(formula,
|
||||
get_publisher().get_global_eval_dict(),
|
||||
get_publisher().substitutions.get_context_variables())
|
||||
if isinstance(ret, datetime.time):
|
||||
ret = misc.site_encode(django_date_format(ret, format='TIME_FORMAT'))
|
||||
if isinstance(ret, datetime.date):
|
||||
ret = ret.strftime(date_format())
|
||||
if ret:
|
||||
|
|
Loading…
Reference in New Issue