json: export DateField as YYYY-MM-DD (#6927)
This commit is contained in:
parent
6405605f28
commit
3c6b72006f
|
@ -5,6 +5,7 @@ import base64
|
|||
import hashlib
|
||||
import urllib
|
||||
import datetime
|
||||
import time
|
||||
|
||||
from quixote import cleanup, get_publisher
|
||||
from wcs.users import User
|
||||
|
@ -215,11 +216,13 @@ def test_formdata():
|
|||
formdef.name = 'test'
|
||||
formdef.fields = [
|
||||
fields.StringField(id='0', label='foobar', varname='foobar'),
|
||||
fields.StringField(id='1', label='foobar2'),]
|
||||
fields.StringField(id='1', label='foobar2'),
|
||||
fields.DateField(id='2', label='foobar3', varname='date'),]
|
||||
formdef.store()
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
formdata.data = {'0': 'foo@localhost', '1': 'xxx'}
|
||||
date = time.strptime('2014-01-20', '%Y-%m-%d')
|
||||
formdata.data = {'0': 'foo@localhost', '1': 'xxx', '2': date}
|
||||
formdata.user_id = user.id
|
||||
formdata.just_created()
|
||||
formdata.store()
|
||||
|
@ -228,7 +231,8 @@ def test_formdata():
|
|||
assert 'last_update_time' in resp.json
|
||||
assert resp.json['user']['name'] == user.name
|
||||
assert resp.json['fields']['foobar'] == 'foo@localhost'
|
||||
assert len(resp.json['fields']) == 1 # foobar2 has no varname, not in json
|
||||
assert resp.json['fields']['date'] == '2014-01-20'
|
||||
assert len(resp.json['fields']) == 2 # foobar2 has no varname, not in json
|
||||
|
||||
def test_myspace_forms():
|
||||
FormDef.wipe()
|
||||
|
|
|
@ -776,6 +776,12 @@ class DateField(WidgetField):
|
|||
except TypeError:
|
||||
return value
|
||||
|
||||
def get_json_value(self, value):
|
||||
try:
|
||||
return strftime('%Y-%m-%d', value)
|
||||
except TypeError:
|
||||
return ''
|
||||
|
||||
register_field_class(DateField)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue