Skip to Content

PMIS Product Usability

Beta License: LGPL-3 PMISuite/stock-accounting Version: 18.0

Prevents the Odoo 18 product and OCA product_usability modules from colliding on the name Product Creation when their security data is upgraded.

Table of contents

Features

  • Renames product_usability.group_product_creation to Product Creation (Restricted).

  • Marks that group's external ID noupdate=True to prevent upstream XML upgrades from restoring the conflicting name.

  • Preserves both group IDs, memberships, implied groups, and access rights.

The label does not impose any new permission restrictions.

Configuration

The addon depends on product_usability and is installed explicitly; it does not install automatically. It adds no menus or settings.

Usage

Installation and recovery

The OCA installation hook renames product.group_product_manager to Product Manager, but a later product upgrade restores Product Creation. The OCA group already uses that name in the same category, violating the group uniqueness constraint.

  1. On an affected database, ensure product and product_usability are installed and are not already marked for upgrade. Resolve any pending dependency upgrade before proceeding.

  2. Install this addon in a separate run. With the normal Odoo executable, configuration, and database selection, use these additional arguments:

    -i pmis_product_usability --stop-after-init
  3. After successful installation, retry the original upgrade.

Do not combine this first installation with -u product, -u product_usability, or -u all. Dependencies load first, so their upgrade can fail before this addon's correction runs.

No manual SQL repair is required when the dependencies are already installed and are not pending upgrade.

Maintenance

Upgrading this addon temporarily clears the flag, reapplies its group label, and restores the flag in the same transaction. Repeated application is safe. Uninstalling this addon leaves the corrected name and protection in place; the group and its external ID remain owned by product_usability. Revisit the correction when the upstream conflict is fixed.

Known limitations

Only the external ID for the OCA product-creation group is protected. Future OCA XML changes to that record, including its name and category, are skipped during normal upgrades and must be reviewed when updating the dependency. The core product group, OCA access-control records, and other groups continue to receive their usual updates. Forced initialization of an already installed dependency is outside this normal-upgrade protection.

Testing

The pytest tests use an isolated Odoo test database with this addon installed. They cover recovery from the original names, repeated application, preserved group relationships, and reloading both upstream security XML files in upgrade order, including a subsequent reload of this addon's XML.

Run this addon's tests without Python coverage options. Its implementation is XML-only; the shared coverage configuration excludes tests, manifest metadata, and package initializers, leaving no Python statements to measure.

Bug Tracker

Bugs are tracked on PMISuite Repository Issues. Before reporting a problem, check whether it has already been reported. Include the affected module versions, reproduction steps, and sanitized errors.

Credits

Authors

Contributors

  • Matjaž Mozetič

Maintainers

LUXIM MATMOZ

Current maintainer:

sysadminmatmoz

Luxim is an independent R&D and deployment company focused on solving complex problems in the Odoo ecosystem.

Odoo Community Association

Luxim is an active member of OCA (Odoo Community Association).