============================ Base Domain Inverse Function ============================ .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:a81ca0b04703b06652789206cbd2c5ea5d0217492ce4dcd32ed6b3b334c6ecf5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png :target: https://odoo-community.org/page/development-status :alt: Alpha .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github :target: https://github.com/OCA/server-tools/tree/16.0/base_domain_inverse_function :alt: OCA/server-tools .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-base_domain_inverse_function :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| This module provides functions to decompose normalized domains into domains operands, as these functions are the inverse of `AND` and `OR` functions available in `odoo.osv.expression`. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. `More details on development status `_ **Table of contents** .. contents:: :local: Usage ===== If you have to decompose a complex domain to inject some conditions, this shows what you can do: .. code-block:: python from odoo.osv.expression import AND, OR from odoo.addons.base_domain_inverse_function.expression import inverse_AND, inverse_OR domain = AND([d1, d2, d3]) d1, d2, d3 = inverse_AND(domain) domain = OR([d1, d2, d3]) d1, d2, d3 = inverse_OR(domain) Known issues / Roadmap ====================== * Allow to inverse domains containing NOT `'!'` operator 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 to smash it by providing a detailed and welcomed `feedback `_. Do not contact contributors directly about support or help with technical issues. Credits ======= Authors ~~~~~~~ * Camptocamp Contributors ~~~~~~~~~~~~ * Akim Juillerat * `Trobz `_: * Son Ho Other credits ~~~~~~~~~~~~~ The migration of this module from 13.0 to 16.0 was financially supported by Camptocamp Maintainers ~~~~~~~~~~~ This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org 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. .. |maintainer-grindtildeath| image:: https://github.com/grindtildeath.png?size=40px :target: https://github.com/grindtildeath :alt: grindtildeath Current `maintainer `__: |maintainer-grindtildeath| This module is part of the `OCA/server-tools `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.