Skip to content

Conversation

@lef-adhoc
Copy link
Contributor

The original pr is: #234

@OCA-git-bot
Copy link
Contributor

Hi @pedrobaeza,
some modules you are maintaining are being modified, check this out!

@lef-adhoc lef-adhoc marked this pull request as draft December 1, 2025 15:41
oca-ci and others added 28 commits December 10, 2025 14:15
…ntity for all components.

In case you cancel the quantity for all components of the pack an error occurred, after this change we set the quantity delivery to zero.
Currently translated at 100.0% (1 of 1 strings)

Translation: product-pack-18.0/product-pack-18.0-sale_stock_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-18-0/product-pack-18-0-sale_stock_product_pack/it/
…mo data for tests + simplification

Demo data can make tests to fail in integration environments or locally
modified ones, so let's remove them and use data created on the test
itself.

We also improve the containerization of the elements of the tests.

In the same movement, we have simplified the code of the test for doing
the same with less lines and in a clearer way, and change old
maintainer.
Currently translated at 100.0% (1 of 1 strings)

Translation: product-pack-12.0/product-pack-12.0-stock_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-12-0/product-pack-12-0-stock_product_pack/pt/
Currently translated at 100.0% (1 of 1 strings)

Translation: product-pack-12.0/product-pack-12.0-stock_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-12-0/product-pack-12-0-stock_product_pack/fr/
…ines.

It seems to me that it would be if a user has the maximum stock permission, can edit the lines of packs, as well as a maximum sales permission.
ALopez-Adhoc and others added 28 commits December 10, 2025 14:15
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: product-pack-17.0/product-pack-17.0-sale_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-17-0/product-pack-17-0-sale_product_pack/
Adapt the module sale_product_pack to the price refactor
Resolves an issue in the "Update Prices" action for packs.
When update the pricelist, ignore all the "cero" lines, this
is the components of packs "Detailed: Totalized in main product" or
"Detailed - Ignored".

We only want to update component lines if the parent pack is
"Detailed - Detailed per component".

Also keep in the so line the component discount settled in the parent
pack settings.

Steps to replicate the bug:
1. In a Sale Order add a product "Detailed - Detailed per component"
2. Save to see all the pack components
3. Change the pricelist to one with discount
4. Call the button action "Update Prices".

Before this commit The price of the parent product gets updated,
but the component prices remain unchanged. Even if the same product is
added again (while retaining the first instance), the component prices
show discrepancies.

Now, when a pricelist with discounts is applied, all line items in the
Sale Order including both parent and component products are updated
accordingly.
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: product-pack-17.0/product-pack-17.0-sale_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-17-0/product-pack-17-0-sale_product_pack/
Currently translated at 100.0% (21 of 21 strings)

Translation: product-pack-17.0/product-pack-17.0-sale_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-17-0/product-pack-17-0-sale_product_pack/it/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: product-pack-18.0/product-pack-18.0-sale_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-18-0/product-pack-18-0-sale_product_pack/
The discount formula for detailed packs has been updated to address inconsistencies when pricelists explicitly display discounts.

The new formula ensures accurate representation of the combined discount by correctly factoring in both the parent pack and component discounts.

Example:

Parent pack discount: 5%
Component A discount: 10%
Component B discount: 20%
The issue occurred when pricelists explicitly displayed discounts. For example, when the pricelist showed the discount percentage but did not properly calculate the combined effect of the pack discount and the component discounts, the displayed total was inconsistent.

With the new formula:

Component A effective discount:
100.0 - ((100.0 - 5.0) * (100.0 - 10.0) / 100.0) = 14.5%
Component B effective discount:
100.0 - ((100.0 - 5.0) * (100.0 - 20.0) / 100.0) = 24.0%
This ensures that when pricelists explicitly show discounts, the displayed percentage matches the calculated prices.
Currently translated at 100.0% (21 of 21 strings)

Translation: product-pack-18.0/product-pack-18.0-sale_product_pack
Translate-URL: https://translation.odoo-community.org/projects/product-pack-18-0/product-pack-18-0-sale_product_pack/it/
…mo data for tests + simplification

Demo data can make tests to fail in integration environments or locally
modified ones, so let's remove them and use data created on the test
itself.

We also improve the containerization of the elements of the tests.

In the same movement, we have simplified the code of the test for doing
the same with less lines and in a clearer way, and change old
maintainer.
…acks

This change extends the pack_modifiable functionality to work with
non_detailed packs, allowing users to automatically expand packs into
editable component lines.

**Benefits:**
- Minimal code changes to existing modules
- No new models or complex intermediate structures needed
- Users can mark a non_detailed pack as modifiable and it will
  automatically expand into editable detailed lines
- Uses Odoo's native section collapsing (collapse_composition) to keep
  the interface clean and organized
- Component lines can be edited individually (quantities, prices, discounts)

**Use case:**
When a user creates a pack with pack_type='non_detailed' and
pack_modifiable=True, upon adding it to a sale order, it will
automatically transform into a collapsible section with detailed lines
that can be edited, providing flexibility while maintaining visual
organization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.