Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

RE: Use a domain filter on odoo13 XML with a stored computed value

by
johan
- 15/10/2021 17:22:38

Beautiful ! This is exactly what we need.

 

Thanks a lot !

 

Kind regards,

 

Van Hirtum Johan

 

Van: Cyril VINH-TUNG [mailto:cyril@invitu.com]
Verzonden: vrijdag 15 oktober 2021 17:12
Aan: Contributors
Onderwerp: Re: Use a domain filter on odoo13 XML with a stored computed value

 

 

Le ven. 15 oct. 2021 à 04:57, Johan Van Hirtum <johan@vanhirtum.be> a écrit :

Hello,

 

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

www.vanhirtum.be

 

Fout! Bestandsnaam niet opgegeven.

 

 

Met vriendelijke groet,

 

Maria Van Baelen

Van Hirtum Geudens nv

Broechemsesteenweg  281

2560 Nijlen

 

Tel : 03 410 12 20

www.vanhirtum.be

 

Fout! Bestandsnaam niet opgegeven.

 

 

Virusvrij. www.avast.com

 

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe