product_pack
Enables defining products as packs that bundle other products with configurable display and pricing behavior.
Key Features
- product.template: Adds pack flags to mark a product as a pack, choose detailed or non-detailed display, set component pricing mode, and allow or forbid editing component lines.
- product.template: Enforces that pack components belong to the same company as the parent product and automatically clears the modifiable option when the pack settings are incompatible.
- product.template: Redirects pack line edits to product variants and decides when a pack should be handled for pricing based on context and pack configuration.
- product.product: Stores pack components and reverse usage links, with helpers to split pack records and compute list prices that include component values according to pack rules.
- product.pack.line: Defines pack components with quantities, blocks duplicate or recursive inclusions, and computes each component’s price contribution even when components are packs themselves.
- product.pricelist: Overrides price computation so pack products return the combined price of the pack item and all component lines while respecting pack pricing behavior.