[FIX] web_domain_field: this commit adds compatibility with the implementation from core Odoo (assigning an unserialized domain to a fields.Binary)

This commit is contained in:
Rodrigo
2023-05-17 12:31:14 +02:00
parent 8fb5d12edd
commit 784032320d
2 changed files with 16 additions and 3 deletions

View File

@@ -1,3 +1,8 @@
.. warning::
This module is deprecated.
If you want to use this functionality you can assign a unserialised
domain to a fields.Binary, `example <https://github.com/OCA/OCB/blob/16.0/addons/account/models/account_tax.py#L1308>`_
This technical addon allows developers to specify a field domain in a view
using the value of another field in that view, rather than as a static
XML attribute.

View File

@@ -153,9 +153,17 @@ odoo.define('web.domain_field', function (require) {
if (_.isString(domain)) {
// Modified part or the original method
if (domain in evaluation_context) {
result_domain.push.apply(
result_domain, $.parseJSON(evaluation_context[domain]));
return;
var fail_parse_domain = false;
try {
var domain_parse = $.parseJSON(evaluation_context[domain]);
console.warn("`web_domain_field is deprecated. If you want to use this functionality you can assign a unserialised domain to a fields.Binary");
} catch (e) {
fail_parse_domain = true;
}
if (!fail_parse_domain) {
result_domain.push.apply(result_domain, domain_parse);
return;
}
}
// End of modifications