Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Web Domain Field

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

In order to mitigate limitations with domains in views, now you can define a computed field in a domain attribute and It’s related method will return the domain to apply.

Table of contents

Usage

When you define a view you can specify on the relational fields a domain attribute. This attribute is evaluated as filter to apply when displaying existing records for selection.

<field name="product_id" domain="[('type','=','product')]"/>

The value provided for the domain attribute must be a string representing a valid Odoo domain. This string is evaluated on the client side in a restricted context where we can reference as right operand the values of fields present into the form and a limited set of functions.

In this context it’s hard to build complex domain and we are facing to some limitations as:

  • The syntax to include in your domain a criteria involving values from a x2many field is complex.

  • The right side of domain in case of x2many can involve huge amount of ids (performance problem).

  • Domains computed by an onchange on an other field are not recomputed when you modify the form and don’t modify the field triggering the onchange.

  • It’s not possible to extend an existing domain. You must completely redefine the domain in your specialized addon

  • etc…

In order to mitigate these limitations this new addon allows you to use the value of a field as domain of an other field in the xml definition of your view.

<field name="product_id_domain" invisible="1"/>
<field name="product_id" domain="product_id_domain"/>

The field used as domain must provide the domain as a JSON encoded string.

product_id_domain = fields.Char(
    compute="_compute_product_id_domain",
    readonly=True,
    store=False,
)

@api.multi
@api.depends('name')
def _compute_product_id_domain(self):
    for rec in self:
        rec.product_id_domain = json.dumps(
            [('type', '=', 'product'), ('name', 'like', rec.name)]
        )

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • ACSONE SA/NV

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Release files for odoo12-addon-web-domain-field 12.0.1.0.0.99.dev9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for odoo12-addon-web-domain-field 12.0.1.0.0.99.dev9
File Interpreter ABI Platform
odoo12_addon_web_domain_field-12.0.1.0.0.99.dev9-py3-none-any.whl Python 3 none any Details

Release files / odoo12_addon_web_domain_field-12.0.1.0.0.99.dev9-py3-none-any.whl

Download URL odoo12_addon_web_domain_field-12.0.1.0.0.99.dev9-py3-none-any.whl
Size 28.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48f565879be316953357422727c931c79bc08f4812cc819901e6c842e8fbe73f
BLAKE2b-256 checksum
How to use checksums
1430beafed4cb3b1865f4aab93e69caa0402d8c7db7f24bd14f00926261cab54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page