Toggle navigation

Product - Propagate Active Value

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

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

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

  • GRAP

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/product-attribute project on GitHub.

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