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

[16.0][MIG] delivery_multi_destination: Migration to version 16.0 #766

Merged
merged 23 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
5527442
[ADD] delivery_multi_destination
pedrobaeza Dec 10, 2016
d4435dc
[10.0][ADD] delivery_multi_destination
luismontalba Sep 26, 2017
bf114e4
[FIX+IMP] delivery_multi_destination: Don't show children + demo (#148)
pedrobaeza Dec 23, 2017
c1fbe16
[MIG] delivery_multi_destination: Migration to 11.0
pedrobaeza Jan 18, 2019
511b5ba
[MIG] delivery_multi_destination: Migration to 12.0
luismontalba May 18, 2019
18f6ed1
[FIX] delivery_multi_destination: Fix singleton error
pedrobaeza Aug 19, 2019
f89f07a
[IMP] delivery_multi_destination: Improve view for hiding undesired e…
pedrobaeza Feb 20, 2020
d8ec3a4
[FIX] delivery_multi_destination: available carriers must return the …
pedrobaeza Feb 20, 2020
8ca3725
[FIX] delivery_multi_destination: Make delivery shipping properly wit…
pedrobaeza Feb 21, 2020
c3e2e00
[IMP] delivery_multi_destination: black, isort, prettier
CarlosRoca13 Jan 26, 2021
c8135ba
[MIG] delivery_multi_destination: Migration to v13.0
CarlosRoca13 Jan 26, 2021
378c929
[IMP] delivery_multi_destination: black, isort, prettier
jado95 Jun 4, 2021
7130374
[MIG] delivery_multi_destination: Migration to 14.0
jado95 Jun 4, 2021
f2329b1
[FIX] delivery_multi_destination: consider no carrier scenario
hailangvn Jan 19, 2022
2f56f04
[FIX] delivery_multi_destination: ondelete=cascade + hide field in multi
pedrobaeza Apr 12, 2022
df3737f
[MIG] delivery_multi_destination: Migration to 15.0
victoralmau Nov 3, 2022
67bc983
[FIX] delivery_multi_destination: Avoid error in creation of a multip…
victoralmau May 2, 2023
4e58f46
Revert "[FIX] delivery_multi_destination: consider no carrier scenario"
pedrobaeza May 30, 2023
f004d90
[FIX] delivery_multi_destination: consider no carrier scenario
pedrobaeza May 29, 2023
1e42e12
[FIX] delivery_multi_destination: Get properly subcarrier price on ba…
pedrobaeza May 10, 2023
b2dcabb
[FIX] delivery_multi_destination: Filter subdestination carriers from…
pedrobaeza May 27, 2023
ab04037
[MIG] delivery_multi_destination: Migration to 16.0
GabbasovDinar Apr 17, 2023
4539c4c
[16.0][MIG] delivery_multi_destination: Continue Migration
carolinafernandez-tecnativa Jan 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions delivery_multi_destination/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
==================================================
Multiple destinations for the same delivery method
==================================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:2cb9cc1f227af0d903b43f5511bdd469acf455504f9aa767342cff2c1dd7fdf5
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github
:target: https://github.com/OCA/delivery-carrier/tree/16.0/delivery_multi_destination
:alt: OCA/delivery-carrier
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_multi_destination
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows to set different price rules depending on the destination.

This module restores the concept of delivery grid, 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.

**Table of contents**

.. contents::
:local:

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

To configure delivery methods with multiple destinations:

#. Go to Inventory > Configuration > Delivery > Shipping 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.

Known issues / Roadmap
======================

* Delivery prices for e-commerce (`website_sale_delivery` module) might need
an extra module for handling everything properly.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/delivery-carrier/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 <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>__`:

* Pedro M. Baeza
* Luis M. Ontalba
* Carlos Roca
* Carolina Fernandez

* `Dinamiche Aziendali <https://www.dinamicheaziendali.it>__`:

* Gianmarco Conte

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/16.0/delivery_multi_destination>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions delivery_multi_destination/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
18 changes: 18 additions & 0 deletions delivery_multi_destination/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2016-2019 Tecnativa - Pedro M. Baeza
# Copyright 2017 Tecnativa - Luis M. Ontalba
# Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
# Copyright 2024 Tecnativa - Carolina Fernandez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Multiple destinations for the same delivery method",
"version": "16.0.1.0.0",
"category": "Delivery",
"website": "https://github.com/OCA/delivery-carrier",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": ["delivery"],
"demo": ["demo/delivery_carrier_demo.xml"],
"data": ["views/delivery_carrier_view.xml"],
}
72 changes: 72 additions & 0 deletions delivery_multi_destination/demo/delivery_carrier_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="product_product_delivery_carrier_multi" model="product.product">
<field name="name">International Carrier Inc.</field>
<field name="detailed_type">service</field>
</record>
<record id="delivery_carrier_multi" model="delivery.carrier">
<field name="name">International Carrier Inc.</field>
<field name="sequence">4</field>
<field name="destination_type">multi</field>
<field name="product_id" ref="product_product_delivery_carrier_multi" />
</record>
<record id="product_product_delivery_carrier_multi_child_1" model="product.product">
<field name="name">International Carrier Inc., Belgium</field>
<field name="detailed_type">service</field>
</record>
<record id="delivery_carrier_multi_child_1" model="delivery.carrier">
<field name="name">Belgium</field>
<field name="parent_id" ref="delivery_carrier_multi" />
<field name="fixed_price">20</field>
<field name="sequence">1</field>
<field name="delivery_type">base_on_rule</field>
<field name="country_ids" eval="[(4, ref('base.be'))]" />
<field name="product_id" ref="product_product_delivery_carrier_multi_child_1" />
</record>
<record id="delivery_price_rule1" model="delivery.price.rule">
<field name="carrier_id" ref="delivery_carrier_multi_child_1" />
<field name="max_value" eval="5" />
<field name="list_base_price" eval="20" />
</record>
<!-- delivery charge of product if weight more than 5kg-->
<record id="delivery_price_rule2" model="delivery.price.rule">
<field name="carrier_id" ref="delivery_carrier_multi_child_1" />
<field name="operator">&gt;=</field>
<field name="max_value" eval="5" />
<field name="list_base_price" eval="50" />
</record>
<!-- free delivery charge if price more than 300-->
<record id="delivery_price_rule3" model="delivery.price.rule">
<field name="carrier_id" ref="delivery_carrier_multi_child_1" />
<field name="operator">&gt;=</field>
<field name="variable">price</field>
<field name="max_value" eval="300" />
<field name="list_base_price" eval="0" />
</record>
<record id="product_product_delivery_carrier_multi_child_2" model="product.product">
<field name="name">International Carrier Inc., France</field>
<field name="detailed_type">service</field>
</record>
<record id="delivery_carrier_multi_child_2" model="delivery.carrier">
<field name="name">France</field>
<field name="parent_id" ref="delivery_carrier_multi" />
<field name="fixed_price">40</field>
<field name="sequence">2</field>
<field name="delivery_type">fixed</field>
<field name="country_ids" eval="[(4, ref('base.fr'))]" />
<field name="product_id" ref="product_product_delivery_carrier_multi_child_2" />
</record>
<record id="product_product_delivery_carrier_multi_child_3" model="product.product">
<field name="name">International Carrier Inc., United Kingdom</field>
<field name="detailed_type">service</field>
</record>
<record id="delivery_carrier_multi_child_3" model="delivery.carrier">
<field name="name">United Kingdom</field>
<field name="parent_id" ref="delivery_carrier_multi" />
<field name="fixed_price">60</field>
<field name="sequence">2</field>
<field name="delivery_type">fixed</field>
<field name="country_ids" eval="[(4, ref('base.uk'))]" />
<field name="product_id" ref="product_product_delivery_carrier_multi_child_3" />
</record>
</odoo>
117 changes: 117 additions & 0 deletions delivery_multi_destination/i18n/cs_CZ.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * delivery_multi_destination
#
# Translators:
# Lukáš Spurný <lukasspurny8@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-28 01:44+0000\n"
"PO-Revision-Date: 2018-02-28 01:44+0000\n"
"Last-Translator: Lukáš Spurný <lukasspurny8@gmail.com>, 2018\n"
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/oca/"
"teams/23907/cs_CZ/)\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"

#. module: delivery_multi_destination
#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
msgid "Belgium"
msgstr "Belgie"

#. module: delivery_multi_destination
#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
#, fuzzy
msgid "Destination Type"
msgstr "Typ cíle"

#. module: delivery_multi_destination
#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
msgid "Destination grid"
msgstr "Destinační mřížka"

#. module: delivery_multi_destination
#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
msgid "Destinations"
msgstr "Destinace"

#. module: delivery_multi_destination
#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
msgid "France"
msgstr "Francie"

#. module: delivery_multi_destination
#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
#: model:product.product,name:delivery_multi_destination.product_product_delivery_carrier_multi
#: model:product.template,name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
msgid "International Carrier Inc."
msgstr "Mezinárodní dopravce Inc."

#. module: delivery_multi_destination
#: model:product.product,name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
#: model:product.template,name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
#, fuzzy
msgid "International Carrier Inc., Belgium"
msgstr "Mezinárodní dopravce Inc."

#. module: delivery_multi_destination
#: model:product.product,name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
#: model:product.template,name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
#, fuzzy
msgid "International Carrier Inc., France"
msgstr "Mezinárodní dopravce Inc."

#. module: delivery_multi_destination
#: model:product.product,name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
#: model:product.template,name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
#, fuzzy
msgid "International Carrier Inc., United Kingdom"
msgstr "Mezinárodní dopravce Inc."

#. module: delivery_multi_destination
#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
msgid "Multiple destinations"
msgstr "Více cílů"

#. module: delivery_multi_destination
#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
msgid "One destination"
msgstr "Jeden cíl"

#. module: delivery_multi_destination
#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
msgid "Parent carrier"
msgstr "Nadřazený dopravce"

#. module: delivery_multi_destination
#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
msgid "Shipping Methods"
msgstr ""

#. module: delivery_multi_destination
#: code:addons/delivery_multi_destination/models/delivery_carrier.py:0
#, python-format
msgid "There is no matching delivery rule."
msgstr ""

#. module: delivery_multi_destination
#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
msgid "United Kingdom"
msgstr "Spojené království"

#. module: delivery_multi_destination
#: model:product.product,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
#: model:product.product,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
#: model:product.product,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
#: model:product.product,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
#: model:product.template,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
#: model:product.template,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
#: model:product.template,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
#: model:product.template,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
msgid "Units"
msgstr ""
Loading
Loading