Add support for timestamp field as datetime in domain parser
Closes #12776 (grafted from c2d266d5fd2591477a400f44d772e0dea499fee6) --HG-- branch : 6.0
This commit is contained in:
1 parent
123cc415ef
commit
a6e29407c0
2 files changed
+13
-4
No files matched your search
+7
-2
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user