Smile-SA / odoo_addons

Odoo addons developed by Smile
GNU Affero General Public License v3.0
285 stars 304 forks source link

[web_search_timedelta] (11.0) invalid input syntax for type date: "2W" #48

Open 719923505 opened 5 years ago

719923505 commented 5 years ago

Odoo Server Error Traceback (most recent call last): File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 651, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 310, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/tools/pycompat.py", line 87, in reraise raise value File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 693, in dispatch result = self._call_function(**self.params) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 342, in _call_function return checked_call(self.db, *args, **kwargs) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/service/model.py", line 97, in wrapper return f(dbname, *args, **kwargs) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 335, in checked_call result = self.endpoint(*a, **kw) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 937, in __call__ return self.method(*args, **kw) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/http.py", line 515, in response_wrap response = f(*args, **kw) File "/home/hui/odoo-dev/odoo11/odoo11/addons/web/controllers/main.py", line 876, in search_read return self.do_search_read(model, fields, offset, limit, domain, sort) File "/home/hui/odoo-dev/odoo11/odoo11/addons/web/controllers/main.py", line 898, in do_search_read offset=offset or 0, limit=limit or False, order=sort or False) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/models.py", line 4244, in search_read records = self.search(domain or [], offset=offset, limit=limit, order=order) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/models.py", line 1481, in search res = self._search(args, offset=offset, limit=limit, order=order, count=count) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/models.py", line 3813, in _search self._cr.execute(query_str, where_clause_params) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/sql_db.py", line 155, in wrapper return f(self, *args, **kwargs) File "/home/hui/odoo-dev/odoo11/odoo11/odoo/sql_db.py", line 232, in execute res = self._obj.execute(query, params) psycopg2.DataError: invalid input syntax for type date: "2W" LINE 1: ... true) AND ("product_template"."date_active" >= '2W')) ORD... ^

when I selected a date field using the filter within the last 2 week,this error occurred

guidev224 commented 3 years ago

@719923505 check this line https://github.com/Smile-SA/odoo_addons/blob/11.0/smile_web_search_timedelta/models/base.py#L29 and replace it by this match_pattern = re.compile('^[+-]{0,1}[0-9]*[YmWdHM]$') everything should work then.