Use locale format for data export and import
issue8196 review255151002
This commit is contained in:
1 parent
74547c4251
commit
792ebac88b
3 files changed
+32
-7
No files matched your search
@@ -1,3 +1,4 @@
|
||||
* Support import of native numeric, date and datetime data
|
||||
* Add day view on calendar
|
||||
* Raise NotImplementedError when setting Function field without setter
|
||||
* Add exports in view_toolbar_get
|
||||
|
||||
@@ -834,13 +834,21 @@ class ModelStorage(Model):
|
||||
elif field_type == 'numeric':
|
||||
res = Decimal(value) if value else None
|
||||
elif field_type == 'date':
|
||||
res = (datetime.datetime.strptime(value,
|
||||
'%Y-%m-%d').date()
|
||||
if value else None)
|
||||
if isinstance(value, datetime.date):
|
||||
res = value
|
||||
elif value:
|
||||
res = datetime.datetime.strptime(
|
||||
value, '%Y-%m-%d').date()
|
||||
else:
|
||||
res = None
|
||||
elif field_type == 'datetime':
|
||||
res = (datetime.datetime.strptime(value,
|
||||
'%Y-%m-%d %H:%M:%S')
|
||||
if value else None)
|
||||
if isinstance(value, datetime.datetime):
|
||||
res = value
|
||||
elif value:
|
||||
res = datetime.datetime.strptime(
|
||||
value, '%Y-%m-%d %H:%M:%S')
|
||||
else:
|
||||
res = None
|
||||
elif field_type == 'many2one':
|
||||
res = get_many2one(this_field_def['relation'], value)
|
||||
elif field_type == 'many2many':
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
import datetime
|
||||
import unittest
|
||||
from decimal import InvalidOperation
|
||||
from decimal import InvalidOperation, Decimal
|
||||
|
||||
from trytond.model.exceptions import (
|
||||
RequiredValidationError, SelectionValidationError, ImportDataError)
|
||||
@@ -54,6 +55,9 @@ class ImportDataTestCase(unittest.TestCase):
|
||||
self.assertEqual(Integer.import_data(['integer'],
|
||||
[['1']]), 1)
|
||||
|
||||
self.assertEqual(Integer.import_data(['integer'],
|
||||
[[1]]), 1)
|
||||
|
||||
self.assertEqual(Integer.import_data(['integer'],
|
||||
[['-1']]), 1)
|
||||
|
||||
@@ -116,6 +120,9 @@ class ImportDataTestCase(unittest.TestCase):
|
||||
self.assertEqual(Float.import_data(['float'],
|
||||
[['1.1']]), 1)
|
||||
|
||||
self.assertEqual(Float.import_data(['float'],
|
||||
[[1.1]]), 1)
|
||||
|
||||
self.assertEqual(Float.import_data(['float'],
|
||||
[['-1.1']]), 1)
|
||||
|
||||
@@ -178,6 +185,9 @@ class ImportDataTestCase(unittest.TestCase):
|
||||
self.assertEqual(Numeric.import_data(['numeric'],
|
||||
[['1.1']]), 1)
|
||||
|
||||
self.assertEqual(Numeric.import_data(['numeric'],
|
||||
[[Decimal('1.1')]]), 1)
|
||||
|
||||
self.assertEqual(Numeric.import_data(['numeric'],
|
||||
[['-1.1']]), 1)
|
||||
|
||||
@@ -270,6 +280,9 @@ class ImportDataTestCase(unittest.TestCase):
|
||||
self.assertEqual(Date.import_data(['date'],
|
||||
[['2010-01-01']]), 1)
|
||||
|
||||
self.assertEqual(Date.import_data(['date'],
|
||||
[[datetime.date(2019, 3, 13)]]), 1)
|
||||
|
||||
self.assertEqual(Date.import_data(['date'],
|
||||
[['']]), 1)
|
||||
|
||||
@@ -288,6 +301,9 @@ class ImportDataTestCase(unittest.TestCase):
|
||||
self.assertEqual(Datetime.import_data(['datetime'],
|
||||
[['2010-01-01 12:00:00']]), 1)
|
||||
|
||||
self.assertEqual(Datetime.import_data(['datetime'],
|
||||
[[datetime.datetime(2019, 3, 13, 12, 0)]]), 1)
|
||||
|
||||
self.assertEqual(Datetime.import_data(['datetime'],
|
||||
[['']]), 1)
|
||||
|
||||
|
||||
Reference in new issue
Block a user