Contributors mailing list archives
contributors@odoo-community.org
Browse archives
Use a domain filter on odoo13 XML with a stored computed value
byHello,
I want to use a domain filter on odoo13 XML with a stored computed value
This is my code
Py-file:
partner_domain = fields.Char('Domein', index=True, compute='_compute_function_dependence', store=True)
@api.depends('adres_function_ids')
def _compute_function_dependence(self):
partner_domain = []
partner_domain = [['|'], ('customer', '=', True), ('supplier', '=', True)]
self.partner_domain = json.dumps(partner_domain)
I used :
- store = True (field has to be stored)
- json.dumps : The field used as domain must provide the domain as a JSON encoded string.
XML-file : FIRST TRY : I tried to filter with context
<field name="partner_id" string="Partner" attrs="{'required':[('IsFreeAdres','=',False),('vhg_functie_compute','=',False)]}" context="{'default_partner_domain':partner_domain}"/>
RESULT : This doesn’t filter anything for partner_domain field, it gives all the records (no filter)
XML-file : SECOND TRY : filter with domain
<field name="partner_id" string="Partner" domain="partner_domain" attrs="{'required':[('IsFreeAdres','=',False),('vhg_functie_compute','=',False)]}" />
While debugging :
Partner_domain = <class 'list'>: [['|'], ['customer', '=', True], ['supplier', '=', True]]
I get an error:
Traceback:
eval_domains/<@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:364:20
_.forEach@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:108:566
_.mixin/</_.prototype[name]@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:165:526
eval_domains@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:361:265
pyeval@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:377:24
stringToArray@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:329:2165
_getDomain@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:1250:167
_search/def<@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:1005:677
_search@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:1005:563
source/<@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:996:233
_.forEach@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:108:566
source@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:996:55
_search@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1860:140
$.widget/</proxiedPrototype[prop]</<@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1372:159
search@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1860:13
$.widget/</proxiedPrototype[prop]</<@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1372:159
$.widget.bridge/$.fn[name]/<@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1377:31
each@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:723:170
each@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:714:192
$.widget.bridge/$.fn[name]@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1374:327
_onInputClick@http://localhost:8069/web/content/101564-5deb54b/web.assets_backend.js:1010:797
proxy/<@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:3945:11
dispatch@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1024:447
add/elemData.handle@http://localhost:8069/web/content/100264-0fa046c/web.assets_common.js:1010:166
Does anyone knows how to solve this problem ?
Thanks in advance,
Maria Van Baelen
Van Hirtum Geudens nv
Broechemsesteenweg 281
2560 Nijlen
Tel : 03 410 12 20
Met vriendelijke groet,
Maria Van Baelen
Van Hirtum Geudens nv
Broechemsesteenweg 281
2560 Nijlen
Tel : 03 410 12 20
Follow-Ups
-
RE: Use a domain filter on odoo13 XML with a stored computed value
byjohan -
Re: Use a domain filter on odoo13 XML with a stored computed value
byInvitu, Cyril VINH-TUNG