OCA / web

Odoo web client UI related addons
GNU Affero General Public License v3.0
912 stars 1.86k forks source link

[16.0] web_advanced_search bug #2766

Closed OdooConsultant closed 5 months ago

OdooConsultant commented 5 months ago

Module

The name of the module that has a bug.

Describe the bug

When clicking on the save button to make the filter, error message: téléchargement

legalsylvain commented 5 months ago

Hi @OdooConsultant. Thanks for reporting.

thanks !

OdooConsultant commented 5 months ago

RPC_ERROR

Odoo Server Error

Traceback (most recent call last):

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/http.py", line 1633, in _serve_db

return service_model.retrying(self._serve_ir_http, self.env)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/service/model.py", line 133, in retrying

result = func()

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/http.py", line 1660, in _serve_ir_http

response = self.dispatcher.dispatch(rule.endpoint, args)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/http.py", line 1864, in dispatch

result = self.request.registry['ir.http']._dispatch(endpoint)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/website/models/ir_http.py", line 237, in _dispatch

response = super()._dispatch(endpoint)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/base/models/ir_http.py", line 154, in _dispatch

result = endpoint(**request.params)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/http.py", line 697, in route_wrapper

result = endpoint(self, *args, **params_ok)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/web/controllers/dataset.py", line 42, in call_kw

return self._call_kw(model, method, args, kwargs)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw

return call_kw(request.env[model], method, args, kwargs)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/api.py", line 464, in call_kw

result = _call_kw_model(method, model, args, kwargs)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/api.py", line 435, in _call_kw_model

result = method(recs, *args, **kwargs)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/web/models/models.py", line 62, in web_search_read

records = self.search_read(domain, fields, offset=offset, limit=limit, order=order)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/models.py", line 5013, in search_read

records = self.search(domain or [], offset=offset, limit=limit, order=order)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/models.py", line 1519, in search

res = self._search(domain, offset=offset, limit=limit, order=order, count=count)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/models.py", line 4682, in _search

query = self._where_calc(domain)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/models.py", line 4447, in _where_calc

return expression.expression(domain, self).query

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/osv/expression.py", line 447, in init

self.parse()

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/osv/expression.py", line 743, in parse

domain = field.determine_domain(model, operator, right)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/fields.py", line 1405, in determine_domain

return determine(self.search, records, operator, value)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/fields.py", line 98, in determine

return needle(*args)

File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/sale_project/models/sale_order.py", line 44, in _search_tasks_ids

raise NotImplementedError(_('Operation not supported'))

NotImplementedError: Opération non prise en charge

The above server error caused the following client error:

RPC_ERROR: Odoo Server Error

at makeErrorFromResponse (https://erp.sndc.fr/web/assets/146326-82d8503/web.assets_backend.min.js:999:163)

at XMLHttpRequest. (https://erp.sndc.fr/web/assets/146326-82d8503/web.assets_backend.min.js:1007:13)

chienandalu commented 5 months ago

As the error states, you can't search by that criteria. That's because task_ids is a computed field and the search method has limited support. To avoid giving wrong results and missleading the user, an error raises.

legalsylvain commented 5 months ago

The error comes from sale_project module :

 File "/opt/odoo/releases/2.7.2/venv/lib/python3.10/site-packages/odoo/addons/sale_project/models/[sale_order.py](https://sale_order.py/)", line 44, in _search_tasks_ids

raise NotImplementedError(_('Operation not supported'))

@ivantodorovich a point of view ?

chienandalu commented 5 months ago

IMO this has nothing to do with the web_advanced_search module. A custom filter would throw the same issue and is just a matter of how Odoo designed that method.

legalsylvain commented 5 months ago

Yes. However, maybe this type of error (unimplemented) could be better catched by the web_advanced_search module ?

chienandalu commented 5 months ago

Could be a nice to have. But it isn't a bug at all in any case.