changeset 0538b05ecedc in modules/stock:5.2
details: https://hg.tryton.org/modules/stock?cmd=changeset;node=0538b05ecedc
description:
        Ensure date of Product Quantities By Warehouse is a date instance

        On SQLite, the date column of the table query is not converted into date
        instance but into string.

        issue8355
        review261481002
        (grafted from 6df4344216418b69bfab6a5b738de3f80bc35038)
diffstat:

 product.py |  16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r 3d2321469bde -r 0538b05ecedc product.py
--- a/product.py        Mon May 06 15:14:28 2019 +0200
+++ b/product.py        Wed May 22 18:31:21 2019 +0200
@@ -318,7 +318,21 @@
 class ProductQuantitiesByWarehouse(ModelSQL, ModelView):
     'Product Quantities By Warehouse'
     __name__ = 'stock.product_quantities_warehouse'
-    date = fields.Date('Date')
+
+    class _Date(fields.Date):
+        def get(self, ids, model, name, values=None):
+            if values is None:
+                values = {}
+            result = {}
+            for v in values:
+                date = v[name]
+                # SQLite does not convert to date
+                if isinstance(date, str):
+                    date = datetime.date(*map(int, date.split('-', 2)))
+                result[v['id']] = date
+            return result
+
+    date = _Date('Date')
     quantity = fields.Function(fields.Float('Quantity'), 'get_quantity')
 
     @classmethod

Reply via email to