Fix internal format of date and datetime fields
Use datetime object.
This commit is contained in:
1 parent
8f444b36e8
commit
793000630f
1 file changed
+18
@@ -1,5 +1,8 @@
|
||||
from tryton.rpc import RPCProxy
|
||||
import tryton.rpc as rpc
|
||||
from tryton.common import DT_FORMAT, DHM_FORMAT, HM_FORMAT
|
||||
import time
|
||||
import datetime
|
||||
|
||||
class ModelField(object):
|
||||
'''
|
||||
@@ -117,6 +120,14 @@ class SelectionField(CharField):
|
||||
|
||||
class DateTimeField(CharField):
|
||||
|
||||
def set_client(self, model, value, test_state=True, force_change=False):
|
||||
if value:
|
||||
date = time.strptime(value, DHM_FORMAT)
|
||||
value = datetime.datetime(date[0], date[1], date[2], date[3],
|
||||
date[4], date[5])
|
||||
return super(DateTimeField, self).set_client(model, value,
|
||||
test_state=test_state, force_change=force_change)
|
||||
|
||||
def get_client(self, model):
|
||||
value = super(DateTimeField, self).get_client(model)
|
||||
return value and str(value) or False
|
||||
@@ -124,6 +135,13 @@ class DateTimeField(CharField):
|
||||
|
||||
class DateField(CharField):
|
||||
|
||||
def set_client(self, model, value, test_state=True, force_change=False):
|
||||
if value:
|
||||
date = time.strptime(value, DT_FORMAT)
|
||||
value = datetime.datetime(date[0], date[1], date[2])
|
||||
return super(DateField, self).set_client(model, value,
|
||||
test_state=test_state, force_change=force_change)
|
||||
|
||||
def get_client(self, model):
|
||||
value = super(DateField, self).get_client(model)
|
||||
return value and str(value) or False
|
||||
|
||||
Reference in new issue
Block a user