This release is a pre-release and may not be stable for production use.
This module extends the functionnaly of Odoo Product module.
By default, in Odoo, - when a user disable a template, it will disable the related variants. - when a user enable a template, it will enable the related variants.
But if a user disables all the variants of a template, the related template will still remain active, what doesn’t make sense in many case, and which will force the user to disable the template as well, to avoid seeing the obsolete template.
This module avoids having inconsistent states between the active field of the varinats and the active field of the template.
Once installed:
if a user disables a variant, it will disable the template, if all the variants are disabled.
if a user enables a variant, it will enable the template.
Table of contents
Installation
If you are installing this module on a database with existing data, you could want to execute the two following SQL requests, to fix some inconsistent data.
Disable templates that do not have a single variant active
UPDATE product_template pt
SET active = false
WHERE id in (
SELECT pt.id
FROM product_template pt
INNER JOIN product_product pp on pp.product_tmpl_id = pt.id
WHERE pt.active = true
GROUP BY pt.id
HAVING sum((pp.active)::int) = 0
);
Enable templates that have at least one active variant
UPDATE product_template pt
SET active = true
WHERE id in (
SELECT pt.id
FROM product_template pt
INNER JOIN product_product pp on pp.product_tmpl_id = pt.id
WHERE pt.active = false
GROUP BY pt.id
HAVING sum((pp.active)::int) != 0
);
Development
This module fixes a current limitation mentionned here : https://github.com/odoo/odoo/pull/60648
Do not port this module in V13, as it seems to be fixed here : https://github.com/odoo/odoo/pull/60536
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
Contributors
Sylvain LE GAL (https://www.twitter.com/legalsylvain)
Maintainers
This module is maintained by the OCA.
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/product-attribute project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Metadata
Release files for odoo12-addon-product-active-propagate 12.0.1.0.1.99.dev6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| odoo12_addon_product_active_propagate-12.0.1.0.1.99.dev6-py3-none-any.whl | Python 3 | none | any | Details for odoo12_addon_product_active_propagate-12.0.1.0.1.99.dev6-py3-none-any.whl |
Release files / odoo12_addon_product_active_propagate-12.0.1.0.1.99.dev6-py3-none-any.whl
| Download URL | odoo12_addon_product_active_propagate-12.0.1.0.1.99.dev6-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd841edb4d13106abb8036786ccd5204eb9465564322312b711360fafe253b3f
|
|
BLAKE2b-256 checksum How to use checksums |
b218807d2c02c42fee0767f5c251cfa69478f48bd0703962d68229da2a614c22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Security for odoo12-addon-product-active-propagate 12.0.1.0.1.99.dev6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.