Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[17.0][MIG] delivery_multi_destination: Migration to 17.0 #988

Merged
merged 27 commits into from
Feb 22, 2025

Conversation

victoralmau
Copy link
Member

@victoralmau victoralmau commented Feb 19, 2025

Migration to 17.0

Please @CarlosRoca13 and @pedrobaeza can you review it?

@Tecnativa TT52410

pedrobaeza and others added 27 commits February 19, 2025 14:26
==================================================
Multiple destinations for the same delivery method
==================================================

Module `delivery` in version 8 allows to set different price rules depending
on the destination. This is what is called a delivery grid.

In version 9, for simplifying delivery methods, Odoo has plained the structure,
lowering destinations at delivery method level, and removing delivery grid
model.

This is not usable when you have different prices according the destination
of your delivery.

This module restores the same concept, reusing the same model for nesting
several "children" delivery methods, one per possible destination. It has been
designed to reuse all possible extensions to the base delivery, without the
need to create a glue module for having multiple destinations.

This module also handles if you're migrating from version 8 and you had
`delivery` module installed, to keep the delivery grids.

Installation
============

If you installed the module on a version 8 migrated database, some operations
will be done for recovering delivery grids. If so, you need to have
**openupgradelib** library installed.

Configuration
=============

To configure delivery methods with multiple destinations:

* Go to Inventory > Configuration > Delivery > Delivery Methods
* Create or edit an existing record.
* Select "Destination type" = "Multiple destinations".
* Introduce a line for each destination in the new tab "Destinations"
* Lines have priority, so you have to put first the lines with more restricted
  destinations.

Usage
=====

* When using the delivery method in a Sales order, delivery address will be
  used for computing the delivery price according introduced destinations.
OCA Transbot updated translations from Transifex
…#148)

* Don't show children carriers on many2one selections
* Don't search by default children carriers
* Add demo data

OCA Transbot updated translations from Transifex
* Standard procedure
* README by fragments
* Code changed to follow v11 logic
* Tests adapted and expanded
…lements

On a multi-destination carrier, that fields shouldn't be shown
…main one

When testing available carriers, we must return the main one if one of the
children matches, not returning the children itself.
…h multi

Handle the step of sending the shipping (triggered on picking validation) for
multi destination delivery. This means to manually check for fixing prices (as
the implementation doesn't check this part and always take the main carrier price,
not the subcarrier one.

Test for this use case done, although the rest of the cases are not covered by
tests yet.
[UPD] Update delivery_multi_destination.pot

[UPD] README.rst
[UPD] Update delivery_multi_destination.pot

[UPD] README.rst
When there is no carrier, destination_type is false and can cause error.
In the case, `one` destination_type should be used.

delivery_multi_destination 14.0.1.0.1
This reverts commit 0e28544.

This ismixing in the same commit other things for a non related problem that has
been fixed in a better way in the previous version, so we are reverting it and
applying the rest of the patches.
…sed on rules

If the destination carrier line is based on rules, the price is not
correctly fetched, as it's hardcoded to call `_get_price_available`
using picking's carrier, no matter the recordset from which you call it
(the self argument).

Thus, the only solution to get the proper value is to temporarily
replace the carrier on the picking on the calls chain, to restore it
before returning.

TT42862
… other companies

In the context where `carrier.child_ids` is being examined, all
existing subdestinations, no matter the company they have, are shown as
being in a sudo environment, so we need to filter them out those from
other companies.

TT43596
[UPD] Update delivery_multi_destination.pot

[BOT] post-merge updates
Currently translated at 100.0% (16 of 16 strings)

Translation: delivery-carrier-16.0/delivery-carrier-16.0-delivery_multi_destination
Translate-URL: https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_multi_destination/pt_BR/
Currently translated at 100.0% (16 of 16 strings)

Translation: delivery-carrier-16.0/delivery-carrier-16.0-delivery_multi_destination
Translate-URL: https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_multi_destination/it/
@pedrobaeza
Copy link
Member

/ocabot migration delivery_multi_destination

@OCA-git-bot OCA-git-bot added this to the 17.0 milestone Feb 19, 2025
@OCA-git-bot OCA-git-bot mentioned this pull request Feb 19, 2025
34 tasks
Copy link
Member

@pedrobaeza pedrobaeza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review + tested on runboat

@pedrobaeza
Copy link
Member

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

On my way to merge this fine PR!
Prepared branch 17.0-ocabot-merge-pr-988-by-pedrobaeza-bump-nobump, awaiting test results.

@OCA-git-bot OCA-git-bot merged commit 5c47f1a into OCA:17.0 Feb 22, 2025
7 checks passed
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at d2372d4. Thanks a lot for contributing to OCA. ❤️

@pedrobaeza pedrobaeza deleted the 17.0-mig-delivery_multi_destination branch February 22, 2025 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants