3
0
Fork 0

[FIX] - advanced search, combination of several OR operators

There is a problem when converting a domain object to an array.

in the case of a combination of several OR operators, the retroconversion into an array
from the domain object is not equal to the original array used for initialization.

The problem can be related to the initialization of the domain object or to the
conversion to an array, but in any case, it is out of this PR scope.

The humanDomain needs an array domain, which mean that the conversion and the
retro-conversion are useless in this case.
12.0
sbejaoui 2020-02-13 12:57:15 +01:00
parent 2931ed54cd
commit 96d990337e
1 changed files with 3 additions and 3 deletions

View File

@ -47,6 +47,7 @@ odoo.define("web_advanced_search", function (require) {
this._super(parent); this._super(parent);
this.model = model; this.model = model;
this.domain = new Domain(domain); this.domain = new Domain(domain);
this.domain_array = domain;
}, },
/** /**
@ -55,16 +56,15 @@ odoo.define("web_advanced_search", function (require) {
* @returns {Object} In the format expected by `web.FiltersMenu`. * @returns {Object} In the format expected by `web.FiltersMenu`.
*/ */
get_filter: function () { get_filter: function () {
var domain_array = this.domain.toArray();
return { return {
attrs: { attrs: {
domain: domain_array, domain: this.domain_array,
// TODO Remove when merged // TODO Remove when merged
// https://github.com/odoo/odoo/pull/25922 // https://github.com/odoo/odoo/pull/25922
string: human_domain.getHumanDomain( string: human_domain.getHumanDomain(
this, this,
this.model, this.model,
domain_array this.domain_array
), ),
}, },
children: [], children: [],