Add support for timestamp field as datetime in domain parser

Closes #12776
(grafted from c2d266d5fd2591477a400f44d772e0dea499fee6)

--HG--
branch : 6.0
This commit is contained in:
Cédric Krier committed 2024-01-30 12:07:21 +01:00
1 parent 123cc415ef
commit a6e29407c0
2 files changed
+13 -4

No files matched your search

+7 -2
View File
@@ -1524,6 +1524,7 @@
'multiselection': complete_selection,
'reference': complete_reference,
'datetime': complete_datetime,
'timestamp': complete_datetime,
'date': complete_date,
'time': complete_time
};
@@ -1801,8 +1802,10 @@
operator = '=';
}
}
if (~['integer', 'float', 'numeric', 'datetime', 'date',
'time'].indexOf(field.type)) {
if (~[
'integer', 'float', 'numeric',
'datetime', 'timestamp', 'date',
'time'].indexOf(field.type)) {
if ((typeof value == 'string') && value.contains('..')) {
var values = value.split('..', 2);
var lvalue = this.convert_value(field, values[0], this.context);
@@ -2040,6 +2043,7 @@
}
}
};
converts.timestamp = converts.datetime;
var func = converts[field.type];
if (func) {
return func();
@@ -2165,6 +2169,7 @@
}
}
};
converts.timestamp = converts.datetime;
if (value instanceof Array) {
return value.map(function(v) {
return this.format_value(field, v);
+6 -2
View File
@@ -296,6 +296,7 @@ def convert_value(field, value, context=None):
'multiselection': convert_selection,
'reference': convert_selection,
'datetime': convert_datetime,
'timestamp': convert_datetime,
'date': convert_date,
'time': convert_time,
'timedelta': convert_timedelta,
@@ -400,6 +401,7 @@ def format_value(field, value, target=None, context=None):
'multiselection': format_selection,
'reference': format_reference,
'datetime': format_datetime,
'timestamp': format_datetime,
'date': format_date,
'time': format_time,
'timedelta': format_timedelta,
@@ -463,6 +465,7 @@ def complete_value(field, value):
'multiselection': complete_selection,
'reference': complete_reference,
'datetime': complete_datetime,
'timestamp': complete_datetime,
'date': complete_date,
'time': complete_time,
}
@@ -850,8 +853,9 @@ class DomainParser(object):
operator = '!='
else:
operator = '='
if field['type'] in ('integer', 'float', 'numeric',
'datetime', 'date', 'time'):
if field['type'] in {
'integer', 'float', 'numeric',
'datetime', 'timestamp', 'date', 'time'}:
if isinstance(value, str) and '..' in value:
lvalue, rvalue = value.split('..', 1)
lvalue = convert_value(field, lvalue, self.context)