From 5527442b49868d051e3ed0d750d6e3104fc51f9a Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@gmail.com>
Date: Sat, 10 Dec 2016 22:45:36 +0100
Subject: [PATCH 01/23] [ADD] delivery_multi_destination

==================================================
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.
---
 delivery_multi_destination/README.rst         |  90 ++++++++++++++++++
 delivery_multi_destination/__init__.py        |   6 ++
 delivery_multi_destination/__openerp__.py     |  22 +++++
 delivery_multi_destination/hooks.py           |  76 +++++++++++++++
 delivery_multi_destination/models/__init__.py |   4 +
 .../models/delivery_carrier.py                |  35 +++++++
 .../static/description/icon.png               | Bin 0 -> 9455 bytes
 delivery_multi_destination/tests/__init__.py  |   4 +
 .../tests/test_delivery_multi_destination.py  |  84 ++++++++++++++++
 .../views/delivery_carrier_view.xml           |  69 ++++++++++++++
 10 files changed, 390 insertions(+)
 create mode 100644 delivery_multi_destination/README.rst
 create mode 100644 delivery_multi_destination/__init__.py
 create mode 100644 delivery_multi_destination/__openerp__.py
 create mode 100644 delivery_multi_destination/hooks.py
 create mode 100644 delivery_multi_destination/models/__init__.py
 create mode 100644 delivery_multi_destination/models/delivery_carrier.py
 create mode 100644 delivery_multi_destination/static/description/icon.png
 create mode 100644 delivery_multi_destination/tests/__init__.py
 create mode 100644 delivery_multi_destination/tests/test_delivery_multi_destination.py
 create mode 100644 delivery_multi_destination/views/delivery_carrier_view.xml

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
new file mode 100644
index 0000000000..93ab093c1c
--- /dev/null
+++ b/delivery_multi_destination/README.rst
@@ -0,0 +1,90 @@
+.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
+   :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+   :alt: License: AGPL-3
+
+==================================================
+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.
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+   :alt: Try me on Runbot
+   :target: https://runbot.odoo-community.org/runbot/99/9.0
+
+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 smashing it by providing a detailed and welcomed feedback.
+
+Credits
+=======
+
+Images
+------
+
+* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
+
+Contributors
+------------
+
+* Pedro M. Baeza <pedro.baeza@tecnativa.com>
+
+Maintainer
+----------
+
+.. image:: https://odoo-community.org/logo.png
+   :alt: Odoo Community Association
+   :target: https://odoo-community.org
+
+This module is maintained by the OCA.
+
+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.
+
+To contribute to this module, please visit https://odoo-community.org.
diff --git a/delivery_multi_destination/__init__.py b/delivery_multi_destination/__init__.py
new file mode 100644
index 0000000000..79adc6aa13
--- /dev/null
+++ b/delivery_multi_destination/__init__.py
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import models
+from .hooks import post_init_hook
+from .hooks import uninstall_hook
diff --git a/delivery_multi_destination/__openerp__.py b/delivery_multi_destination/__openerp__.py
new file mode 100644
index 0000000000..08d04d38fb
--- /dev/null
+++ b/delivery_multi_destination/__openerp__.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+{
+    "name": "Multiple destinations for the same delivery method",
+    "version": "9.0.1.0.0",
+    "category": "Delivery",
+    "website": "https://www.tecnativa.com/",
+    "author": "Tecnativa, "
+              "Odoo Community Association (OCA)",
+    "license": "AGPL-3",
+    "installable": True,
+    "depends": [
+        "delivery",
+    ],
+    "data": [
+        "views/delivery_carrier_view.xml",
+    ],
+    "uninstall_hook": "uninstall_hook",
+    "post_init_hook": "post_init_hook",
+}
diff --git a/delivery_multi_destination/hooks.py b/delivery_multi_destination/hooks.py
new file mode 100644
index 0000000000..646f902d62
--- /dev/null
+++ b/delivery_multi_destination/hooks.py
@@ -0,0 +1,76 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp import api, SUPERUSER_ID
+try:
+    from openupgradelib import openupgrade
+except ImportError:
+    openupgrade = False
+
+
+def migrate_from_v8(cr):
+    """Reconvert delivery carriers that were the grids from the same
+    v8 carrier again on childs with this new structure.
+    """
+    cr.execute(
+        """
+        SELECT COUNT({0}), {0}
+        FROM carrier_delivery
+        GROUP BY {0}
+        """.format(openupgrade.get_legacy_name('carrier_id'))
+    )
+    rows = cr.fetchall()
+    with api.Environment.manage():
+        env = api.Environment(cr, SUPERUSER_ID, {})
+        carrier_obj = env['delivery.carrier']
+        for count, old_carrier_id in rows:
+            if count <= 1:
+                continue
+            # Get children ids
+            cr.execute(
+                """
+                SELECT id
+                FROM carrier_delivery
+                WHERE {0} = %s
+                """.format(openupgrade.get_legacy_name('carrier_id')),
+                (old_carrier_id, )
+            )
+            child_ids = [x[0] for x in cr.fetchall()]
+            # Get old carrier data
+            cr.execute(
+                """
+                SELECT name, partner_id
+                FROM carrier_delivery
+                WHERE {0} = %s
+                """.format(openupgrade.get_legacy_name('carrier_id')),
+                (old_carrier_id, )
+            )
+            old_carrier_vals = cr.fetchone()
+            # Create new carrier and put the rest of the carriers as children
+            carrier = carrier_obj.create({
+                'name': old_carrier_vals[0],
+                'partner_id': old_carrier_vals[1],
+                'destination_type': 'multi',
+            })
+            cr.execute(
+                """
+                UPDATE carrier_delivery
+                SET parent_id = %s
+                WHERE ids = %s
+                """, (carrier.id, tuple(child_ids))
+            )
+
+
+def post_init_hook(cr, registry):  # pragma: no cover
+    if openupgrade and openupgrade.column_exists(
+            'delivery_carrier', openupgrade.get_legacy_name('carrier_id')):
+        migrate_from_v8(cr)
+
+
+def uninstall_hook(cr, registry):
+    with api.Environment.manage():
+        env = api.Environment(cr, SUPERUSER_ID, {})
+        act_window = env.ref('delivery.action_delivery_carrier_form')
+        if act_window:
+            act_window.domain = False
diff --git a/delivery_multi_destination/models/__init__.py b/delivery_multi_destination/models/__init__.py
new file mode 100644
index 0000000000..add727a8de
--- /dev/null
+++ b/delivery_multi_destination/models/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import delivery_carrier
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
new file mode 100644
index 0000000000..133ede270a
--- /dev/null
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp import api, fields, models
+from openerp.tools import config
+
+
+class DeliveryCarrier(models.Model):
+    _inherit = "delivery.carrier"
+
+    child_ids = fields.One2many(
+        comodel_name="delivery.carrier", inverse_name="parent_id",
+        string="Destination grid",
+    )
+    parent_id = fields.Many2one(
+        comodel_name="delivery.carrier", string="Parent carrier",
+    )
+    destination_type = fields.Selection(
+        selection=[
+            ('one', 'One destination'),
+            ('multi', 'Multiple destinations'),
+        ],
+        default="one", required=True,
+    )
+
+    @api.multi
+    def verify_carrier(self, contact):
+        test_condition = (config['test_enable'] and
+                          not self.env.context.get('test_delivery_multi'))
+        if test_condition or self.destination_type == 'one':
+            return super(DeliveryCarrier, self).verify_carrier(contact)
+        for subcarrier in self.child_ids:
+            if super(DeliveryCarrier, subcarrier).verify_carrier(contact):
+                return subcarrier
diff --git a/delivery_multi_destination/static/description/icon.png b/delivery_multi_destination/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}<C%<R2Kc9faym6aW`f0Dh5$js*d
z_}}Z!;XIG;_cPz`_vag-p{7Ve$Uq1H00~A(?iu(VaQlMefnU3&OozZXm@69d91cGG
z;O61r&je0NdamH#&)mKsXk?Zb_)B^>d0jUxM@u(PQx^-s)6<jB#=*|j%+$$(&(Xyy
zYgd8+09XKwoa}S2?48%%ZU#L~n^g{fE40h%YEx5by;GuJ(K|vI1uO;0m}=J7R4@Bs
z>97TX<v{QF=s?r`z`m$a0ZvrhBU7}{15RN9M`j!kv_Mp+3~{||YNuFzHNvhMYm3=Q
zo!q+OJ5(%-oNM^I^M%*luKMiVL`lo`bcKGymX7i3MIFWj1i|9+CGNvn`cu-RsK0Qh
zoYlwB>`ehR4?GS^qbkof1cslKgk<Uw6DeIxZyT_?=OwX|lwC*A?ac*gHF7jmS080$
z>U)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~!
zVpnB`o+K7|Al`Q_U<UrcmRnh6jExs}l(hZs0%T~Dnpu-NENdhioRv(T{Qmv>;eD$B
zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA
z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__
zc+blN2UAB0=617@>_<D4$IPL<k1zq(*VmlDPer&h1n6`AG;9A!_W=N$JthhQWXZ<i
zGURc6f<i*joK3xSWaOOXxAc8ES>u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_
zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I
z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz<Z(Qt1jC2cC|
z6WbMo9YgON{L#ZDl$sV4*<CP(>{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U
z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)(
z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH
zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW
z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx
zOGVPhVRTGPtv0o}RfVP;Nd(|CB)<HrC1(%ZOEd8PI?r9b_$Cp-${bh59Z_R7n&YCp
zl8lfMpes*8{FVm;oJH@0LLoWmxD59u?JwHz2iRrAaE0`Hc&g;t5~$P*kdeOZn9OJ3
zRczo@ZkWU)RG+hcfH~{49Vvb3D(W0wRX#|$cA0Iqy^VR~(4hqA2AFI-rK!FM!#fJ_
zGFI@iqJOPXZ!=VjTS3dMuu~9xU3K1&?th;$)cqM#WGxbDEyB$y`#9j%>I;*t&QO8h
zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9
zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz#
z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7t<dboft~zeDZwK=+l2bFWs5^+|r{J6GO9Cwl
z&SW58BRs?XdFLuhtzl7WLbQ#~z#`jAB3AbSUg6jW6@qVd2Q~9qN(izT1y*>F#6nHA
zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K=
z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS
zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C
zuVl&0duN<;uOsB3%T9Fp8t{ED108<?)`y_~Hnd9AUX7h-H?jVuU|}My+C=TjH(jKz
zqMVr0re3S$H@t{zI95qa)+Crz*5Zj}Ao%4Z><+W(nOZd?gDnfNBC3>M8WE61$So|P
zVvqH0SNtDTcs<xiU1;=a39$d&&l5EwoIH1db#`S9Kw!YC1jhR)VbCWMptlUUkpfif
zMzi-i8)WL?|C$*Q?iqbS{w<lA9XN(rD)VS<zn>UdzaMDpT=Ty0pDHHNL@Z0w$Y`XO
z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1
zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_
zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8
zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ>
zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}a<Xwa$pLotZk<
zsykXwQO37I=aXew7x=}YWiW)^p)|C#g+)an!@j?EcY8C0t)BlK#y{YLtkJ6=D6H-5
zp2*ANf@>RBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN
z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=<bK!vY7J*RP!&i_xU}i*o6o
z?xN*1<rEe1L2HBkCSgiYM3a|4w?Bo7CJL7?Eh;9An1m$1t?h1v92<Xg2(#)bjbL|o
zH_H0}!Og=1dOBynXHu>@hbCRcfT5ji<pmK_U*~T(A$I-*rM$8-BCv{=@=7F)2pdtU
z5==tp!}A*&Xgf{F>gwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h
zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&<KAVm#0W>BE*}XfU|H&(FssBqY=hPCt`d
zH?@s2>I(|;fcW&YM6#V<T#ysvE$@4oRO>#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB
zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz
z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I
zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R<sv-KjYb}UVFjITQ)VAEWu*)Lz7*-f^A*H
z<25#Ynt~-Qh?$wWx4$1=T2`j@bKp!)3IXh(LC@)%WGW$+j(tGz(6#bGw&K0j=Np@B
zt}@t$R`z(>?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X
zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD
z<sX7(ZJc+Q;#xP8uk`jnF@a^|TWw*55if6@@}%7lOBaGo9Ia-e?`RPQc^w^EWfhe}
zHWHTvDA+r}Xf5Yqpr;QU-88%QC9F_>#z-)AXwSRY?<M%E84!g*1GC?E>OPefw^iI+
z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd
z$<h)Fm>6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs
z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I
z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$
z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV<GYik+VfZene%bm(n6
z`r@rc^TVw7EN{|O7rORMlw)zt(Z#enc3joE#IIk!M)L8gk^go9E9AxiP9o#OqmvV>
z@;rlc*NRK7i3y5BETSKuumEN`Xu_8<BQ)z0!-JuC8x}?$qo8SEko}oUWNI(4h*VHO
zAi!Egy!f(o9aHs2dhSE6ki(be*&w&+WLOB<(b3T_Hide(NvVvLQV{BN|2?UJFaY*@
z9CXA5B_*8i5Bf6sn~d`R>GP1Ri=OK<SGIb#BCTo3qI#UBUg+dkR+2ilUwIg%XFV;l
z+>Q$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s
zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6
zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5<g6yi=XozU}zReXL{rA%c`$IQAs<ObZ
zep*ITZ0C(~W*`?XH^l1t7&+qigAfY9tVJ5DH!~jY>#ZRj8kg}dS7_V&^%#Do==#`u
zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK<aUZ^OhBu;1e6t#{
zxKehVgz`HT;A`FMivG<tq0OcrXwHUX_<$j<uk%m>#HN`!1vBJHnC+RM&yIh8{gG2q
zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH
zVWo*OwYElb#uyW{Imam6f2<eMTQj#)z8+N&ZY?tSPo%&2eVNU=4=?rlO<*9Twaxco
zEVE=Jh?_x>rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c
zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT
zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+
z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ
zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy
zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC)
zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#B<pkvWZft^C&
z;+zNo+VJNluxaDF!`gW+F0=MxsCQ~~#CYKa;ULfj5hTa8a6;d*(<eeQ7-ZQgz2et^
zf|7URfj;x*#HiF0wuBCOTEpbeD&kkENqolCm2#cQGHCeEC<&I3j+P6?sX?BPp4~46
zx-S~EJ>oo{AH8n$<d4loB?vL3RqXwK_COrQ6xRoWGOdFnWy(hhzrG8k;2k}8Zj&>a
zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x!
zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X
zZ3WYJtHp_ri(}SQAPjv+Y+0=<GD??Na(2AG`s>fH4krOP@S&=zZ-t1jW1o@}z;xk8
z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A
z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H
zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n=
z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~N<X{IYiJ3k=4u-u*nJEBnJ<OdI8P
zXmK`OYkO5a{YDhI3PL|H4m=p>Bvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK
z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z
zzCR$P#uktu+#!w)cX!<osOkId_HzAT-HD2N`M+v2l+zwdW%GgZbQMuhfE*hHjKXKg
z45hphqVETPDbX6wpTlZqza0gFaRGh`3L~0id)F6#%@9;w(e%PjzuD7@inuToA!B?F
zCMLJc!u{3N)s?lB-!11!GxXsCak8zQomO)gmn02f-5~OkMYnm~#jVwwYNw@LAv!KN
z-n`q1|AXw*TW>lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h
z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD
z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW
zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@
zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz
z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y<
zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X
zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6
zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V<h953|jk-C&|3)z%
ze&_30-6q1)a0(!xXqA+_t(WC`HA_yYaW@>`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6%
z2(}&uGRF;p9<Q%jdNy1%e7XTzyu7EEQT(5LrnvX~T%K!IuDyHY`ZneVJu#k_1T)xA
z*yxB?y4!pOJ$DTZzBm|8OIQq+AtV25aJ+X5EJjAu><tfuiNClI2BSoMgqLnU-5t95
zEnZ(^g~1RgD=UMB({c;$HujG&%DqGF;5jI~roRT+(rOoS$6f6SsURIuAVkAeIVc~{
z5ZxLN%m%Z*Sg;qYCf3<$dE6~&w_!EBx%yl4YC~LH{FCFNRBc_I>2eS*sE*o<YSPrx
z{M(reV{~jKue#Y6ZOnqJia{fQc!UxV4m)l389OmzR6A3|2!i<P{r82jKw+zq4%@ny
znopi6g!1Vx9Bml#a~KdL2lp2C)qSTKIh43vgycQHfQb_I!kQY&p;X@Bz|{^SXsW1K
zP&Ag1CW_r6u5-4=s(W>R$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(|
z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4<V=<
zfr<*%iOB1EY}w3tF2Cwl7a2OS&~Y-lu<s)T^9=OFU8(CeN|63BiMxf*)5gesGU<eZ
z9DigzL3+quZ1o2T<KAZbCGJx&lrl*e#}Dpv24bZO$B<Yoc5hbeP0y?@P%|Tvw||e%
zV#e^q0D2R_Oq_c+=x5vP&hg4k+df{o7$aNZCM>PdpwWDop%^}n;dD#K4s#DYA8SHZ
z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H
zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^W<wsNa}nUDpNk$q{>Yu2u5kubqmwp%drJ6
z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d}
z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A
zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&<F<Z7l=VnwB^RA&^APMi=Tn
zNc}%IJL~xB4OP6bJNwAw)~Ma2=UP0dhr%X=kco(it+@F<#$xrIJ8@|{Buh<)h`xg?
z_U}pe=3#zmDfdqE4`Hyn<!?&CfCp#GTeXo8;AYd1Opd&cXER8cBSOF3iFJ#XPgQVp
zZSiQf7V^Dt?ITs8aMF~e1hq0P@^oB)#byh|6q_7F1B%ST%WL~J?ySn>YOi-3|1QKB
z<?_cUy)V3go%%^l)lRa=dmY_XQG3Z{Q?52d$qG}vIe|EZbYEtrR$rh(iS)O#dU-(>
z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp
zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#<i<Zx(`=7k~{%`w&<EbG}U<
z0%E^8lyw>s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@<TSeYlROCt(gU?O((-qu
zs>QS0TEL_?njX|<LXnSC4TlId(D4W|GQ?L@$3Ue@N8p=l9-sC<=z(lPk;^sT(v2*k
zc~vp#Hp`mXjzhml2NMCh^h5)sqsan+jJ_l<a4w|G&ac02hrz8#6|kFraA~rta0}!q
zB4BE{QWY7MtxHn_xB);Avf#Lf<GG<A?Q3JVyc1p8^H}$8(Gn=_&F1!m8$sKyeue+L
z5&392wm+wO;_oXoTEJ=wxVXk}dt<d~CgUUMW_PPTe(c<7n18#mVaX)vK}-PzZq7<b
zNJbVTFaq(8ZLx|A*G$H3ugT2aVziDEGa66FVt@hr1|D{RWN6yuqlglM!rp^YG;UpG
zrnm?ek079l3VoOU^p%f^A9Yzn8IVX?^rB4LbgJ|PONhzM_0{P?S(V$OI=u5IBjfT#
z0ntLLnhg5$0fAHJaG6HCx4X7;RmvMtE}8C>@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6#
z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f#
zuT7fv<Q3o5LspCx-RPkzLw{VsDE>jSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC
zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv!
zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8<JV*@W33SMHM;w!OmUXar{O;_8j>ul%rG
z-<zwGD)!Y{+(T{%ob~79zpXX%zulyiy1_UHWvu@YqxKAK3e9GO6Os4R0Naujn>wfS
zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9
z^zP;K#|)$`^Rb{rnH<AdQ^(;gQMcF>GH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE#
z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz
zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8<!P
zAOHj?oPbjQ%hh|vE_1IMB)43eQpeLi&)R>etW=xJvni)8eHi`H$%#zn^WJ<U7gogJ
z?A^!2J~rI78JH|Ml2EldmKY5K8;Zx(FGcBdM<5oe#G+nd6dObqz@Af%%M*aBE_pn8
zXQo2`Bw*IwvP3#1Ev<%YocpBodO9+Rw~`5*CY3{L;qf1PxV!r%NI+#Q1f8GU7$~#U
zAA9$4&g-k=8BYi*3i@0^UX}nTQVyOf)8T(}G^Ti?Vqvk~bJRR#EAQ?u`dClPxk@{;
zxvO?%jSX`2{8|^z0*C5DR1Z^>5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t
z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN
zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01F<S%GT3P{Ck&Y*^gWuie`o_g+ZNDNIV|F
z)zEe|Ij*4$H1(<RLz0($;AD3VsUJwI@liw^?fh(V?VC`Sz7h`*Q<VYlhbHJ?&h+!W
zAJC)U;Lx_QRaSNFYbyi|7+MeNTgA+Znh}qFzf>mx5XbRo6+n|pP(&nodMoap^z{~q
ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k
zQ<WB5+u#`K#~J$81)#?BuTOKLk|+S>^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG
z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff
z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1
zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO
zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}2<F#{*|k0E{$&_`~)
zkzDcsi#!7r<a8lPUCMj?{CK;e|9#-xj>6NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$
zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV(<Rzgqw(Ze!7hEGKKx((>
z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb
zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4
z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_N<mojSrG!`
zgkqx4t<XLL6ZUppvjeV9PJ6dG>hT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{
zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*<bTMtKO;_Z)R
zRSOJrd5TFO0aO%#%-sNa{`SiQ^$$1^@oUd&^lB{MKZ>vIg?@fVFSmMpaw0qtTRbx}
z({Pg?#{2`sc9)M5N$*N|4;^t$+Q<Wh^yJ?FzJ*$wiB{j;CMy+?m1MbsJo0ubR==f9
z>P?#mo<zt1E6=Ilm*nbmYmpxfAj7*m*Wh@=7|;!%(-pviW`nuCktLveet9^$*y^>v
zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22
zc2Ix|App^>v6(3L_MCU0d3W##AB<Fxl*nmny6_RsCu%1a)so}}uCXSzwY70Y@uTxK
z=5nu(N*2HDbrIcL)t_*{*84mvmV_Y9<vxHJJ;0gUdNjyW)jDb|@|j*qR8;gsMa5Ir
z02fHv=%xyN9VLv_ZLL4y|F*p$S^^T47m{aok5{rmM{$s7^Xu2!_fo1$IG6kkG_Tgx
zFfjPm3;g>0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq
zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t<
z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k
z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp
z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{}
zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I

literal 0
HcmV?d00001

diff --git a/delivery_multi_destination/tests/__init__.py b/delivery_multi_destination/tests/__init__.py
new file mode 100644
index 0000000000..3a4ea32c6b
--- /dev/null
+++ b/delivery_multi_destination/tests/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import test_delivery_multi_destination
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
new file mode 100644
index 0000000000..14d775faf8
--- /dev/null
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+# Copyright <YEAR(S)> <AUTHOR(S)>
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp.tests import common
+from ..hooks import uninstall_hook
+
+
+class TestDeliveryMultiDestination(common.SavepointCase):
+    @classmethod
+    def setUpClass(cls):
+        super(TestDeliveryMultiDestination, cls).setUpClass()
+        cls.country_1 = cls.env['res.country'].create({
+            'name': 'Test country 1',
+        })
+        cls.country_2 = cls.env['res.country'].create({
+            'name': 'Test country 2',
+        })
+        cls.partner_1 = cls.env['res.partner'].create({
+            'name': 'Test partner 1',
+            'country_id': cls.country_1.id,
+        })
+        cls.partner_2 = cls.env['res.partner'].create({
+            'name': 'Test partner 2',
+            'country_id': cls.country_2.id,
+        })
+        cls.carrier_multi = cls.env['delivery.carrier'].create({
+            'name': 'Test carrier multi',
+            'partner_id': cls.partner_1.id,
+            'destination_type': 'multi',
+            'delivery_type': 'fixed',
+            'fixed_price': 100,
+            'child_ids': [
+                (0, 0, {
+                    'sequence': 1,
+                    'partner_id': cls.partner_1.id,
+                    'country_ids': [(6, 0, cls.country_1.ids)],
+                    'delivery_type': 'fixed',
+                    'fixed_price': 50,
+                }),
+                (0, 0, {
+                    'sequence': 2,
+                    'partner_id': cls.partner_1.id,
+                    'country_ids': [(6, 0, cls.country_2.ids)],
+                    'delivery_type': 'fixed',
+                    'fixed_price': 150,
+                })
+            ]
+        })
+        cls.carrier_single = cls.carrier_multi.copy({
+            'name': 'Test carrier single',
+            'destination_type': 'one',
+            'child_ids': False,
+        })
+        cls.product = cls.env['product.product'].create({
+            'name': 'Test product',
+        })
+        cls.sale_order = cls.env['sale.order'].create({
+            'partner_id': cls.partner_1.id,
+            'order_line': [
+                (0, 0, {
+                    'name': 'Test',
+                    'product_id': cls.product.id,
+                    'product_uom_qty': 1,
+                }),
+            ]
+        })
+
+    def test_delivery_multi_destination(self):
+        order = self.sale_order.with_context(test_delivery_multi=True)
+        order.carrier_id = self.carrier_single.id
+        self.assertAlmostEqual(order.delivery_price, 100, 2)
+        order.carrier_id = self.carrier_multi.id
+        self.assertAlmostEqual(order.delivery_price, 50, 2)
+        # HACK: Needed as Odoo doesn't recompute non stored fields in tests
+        order.invalidate_cache()
+        order.partner_shipping_id = self.partner_2.id
+        order.partner_id = self.partner_2.id
+        self.assertAlmostEqual(order.delivery_price, 150, 2)
+
+    def test_uninstall_hook(self):
+        uninstall_hook(self.env.cr, self.env.registry)
+        act_window = self.env.ref('delivery.action_delivery_carrier_form')
+        self.assertFalse(act_window.domain)
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
new file mode 100644
index 0000000000..2c5c2d3a2e
--- /dev/null
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+
+<odoo>
+
+    <record id="view_delivery_carrier_form" model="ir.ui.view">
+        <field name="model">delivery.carrier</field>
+        <field name="inherit_id" ref="delivery.view_delivery_carrier_form"/>
+        <field name="arch" type="xml">
+            <field name="shipping_enabled" position="before">
+                <field name="destination_type"
+                       invisible="context.get('show_children_carriers', False)"
+                />
+            </field>
+            <xpath expr="//field[@name='delivery_type']/ancestor::page" position="attributes">
+                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            </xpath>
+            <xpath expr="//field[@name='country_ids']/ancestor::page" position="attributes">
+                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            </xpath>
+            <field name="partner_id" position="attributes">
+                <attribute name="invisible">context.get('show_children_carriers', False)</attribute>
+            </field>
+            <notebook position="inside">
+                <page string="Destinations"
+                      name="page_multi_destination"
+                      attrs="{'invisible': [('destination_type', '!=', 'multi')]}"
+                >
+                    <field name="child_ids"
+                           context="{'show_children_carriers': True, 'default_partner_id': partner_id}"
+                    />
+                </page>
+            </notebook>
+        </field>
+    </record>
+
+    <record id="view_delivery_carrier_tree" model="ir.ui.view">
+        <field name="model">delivery.carrier</field>
+        <field name="inherit_id" ref="delivery.view_delivery_carrier_tree"/>
+        <field name="arch" type="xml">
+            <field name="partner_id" position="attributes">
+                <attribute name="invisible">context.get('show_children_carriers', False)</attribute>
+            </field>
+            <field name="price" position="attributes">
+                <attribute name="invisible">context.get('show_children_carriers', False)</attribute>
+            </field>
+            <field name="price" position="after">
+                <field name="country_ids"
+                       invisible="not context.get('show_children_carriers', False)"
+                />
+                <field name="state_ids"
+                       invisible="not context.get('show_children_carriers', False)"
+                />
+                <field name="zip_from"
+                       invisible="not context.get('show_children_carriers', False)"
+                />
+                <field name="zip_to"
+                       invisible="not context.get('show_children_carriers', False)"
+                />
+            </field>
+        </field>
+    </record>
+
+    <record id="delivery.action_delivery_carrier_form" model="ir.actions.act_window">
+        <field name="domain">[('parent_id', '=', False)]</field>
+    </record>
+
+</odoo>

From d4435dc921960d2f2c41b557a54edfe425ca8ff5 Mon Sep 17 00:00:00 2001
From: "Luis M. Ontalba" <luismaront@gmail.com>
Date: Tue, 26 Sep 2017 14:15:49 +0200
Subject: [PATCH 02/23] [10.0][ADD] delivery_multi_destination

OCA Transbot updated translations from Transifex
---
 delivery_multi_destination/README.rst         | 33 ++------
 delivery_multi_destination/__init__.py        |  2 -
 .../{__openerp__.py => __manifest__.py}       |  9 +--
 delivery_multi_destination/hooks.py           | 76 -------------------
 delivery_multi_destination/i18n/de.po         | 54 +++++++++++++
 delivery_multi_destination/i18n/es.po         | 54 +++++++++++++
 delivery_multi_destination/i18n/fr.po         | 54 +++++++++++++
 delivery_multi_destination/i18n/it.po         | 54 +++++++++++++
 delivery_multi_destination/i18n/nl.po         | 54 +++++++++++++
 delivery_multi_destination/i18n/nl_NL.po      | 54 +++++++++++++
 delivery_multi_destination/i18n/pt_BR.po      | 54 +++++++++++++
 delivery_multi_destination/i18n/sl.po         | 54 +++++++++++++
 .../models/delivery_carrier.py                |  8 +-
 .../tests/test_delivery_multi_destination.py  | 52 ++++++++-----
 .../views/delivery_carrier_view.xml           | 22 ++----
 15 files changed, 489 insertions(+), 145 deletions(-)
 rename delivery_multi_destination/{__openerp__.py => __manifest__.py} (66%)
 delete mode 100644 delivery_multi_destination/hooks.py
 create mode 100644 delivery_multi_destination/i18n/de.po
 create mode 100644 delivery_multi_destination/i18n/es.po
 create mode 100644 delivery_multi_destination/i18n/fr.po
 create mode 100644 delivery_multi_destination/i18n/it.po
 create mode 100644 delivery_multi_destination/i18n/nl.po
 create mode 100644 delivery_multi_destination/i18n/nl_NL.po
 create mode 100644 delivery_multi_destination/i18n/pt_BR.po
 create mode 100644 delivery_multi_destination/i18n/sl.po

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index 93ab093c1c..375bd30aed 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -1,35 +1,17 @@
 .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
-   :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+   :target: https://www.gnu.org/licenses/agpl
    :alt: License: AGPL-3
 
 ==================================================
 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.
+This module allows to set different price rules depending on the destination.
 
-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.
+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.
 
 Configuration
 =============
@@ -51,7 +33,7 @@ Usage
 
 .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
    :alt: Try me on Runbot
-   :target: https://runbot.odoo-community.org/runbot/99/9.0
+   :target: https://runbot.odoo-community.org/runbot/99/10.0
 
 Bug Tracker
 ===========
@@ -73,6 +55,7 @@ Contributors
 ------------
 
 * Pedro M. Baeza <pedro.baeza@tecnativa.com>
+* Luis M. Ontalba <luis.martinez@tecnativa.com>
 
 Maintainer
 ----------
diff --git a/delivery_multi_destination/__init__.py b/delivery_multi_destination/__init__.py
index 79adc6aa13..ec50cfc0f3 100644
--- a/delivery_multi_destination/__init__.py
+++ b/delivery_multi_destination/__init__.py
@@ -2,5 +2,3 @@
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 from . import models
-from .hooks import post_init_hook
-from .hooks import uninstall_hook
diff --git a/delivery_multi_destination/__openerp__.py b/delivery_multi_destination/__manifest__.py
similarity index 66%
rename from delivery_multi_destination/__openerp__.py
rename to delivery_multi_destination/__manifest__.py
index 08d04d38fb..08a8b34e82 100644
--- a/delivery_multi_destination/__openerp__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -1,12 +1,13 @@
 # -*- coding: utf-8 -*-
-# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# Copyright 2016-2017 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "9.0.1.0.0",
+    "version": "10.0.1.0.0",
     "category": "Delivery",
-    "website": "https://www.tecnativa.com/",
+    "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, "
               "Odoo Community Association (OCA)",
     "license": "AGPL-3",
@@ -17,6 +18,4 @@
     "data": [
         "views/delivery_carrier_view.xml",
     ],
-    "uninstall_hook": "uninstall_hook",
-    "post_init_hook": "post_init_hook",
 }
diff --git a/delivery_multi_destination/hooks.py b/delivery_multi_destination/hooks.py
deleted file mode 100644
index 646f902d62..0000000000
--- a/delivery_multi_destination/hooks.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-
-from openerp import api, SUPERUSER_ID
-try:
-    from openupgradelib import openupgrade
-except ImportError:
-    openupgrade = False
-
-
-def migrate_from_v8(cr):
-    """Reconvert delivery carriers that were the grids from the same
-    v8 carrier again on childs with this new structure.
-    """
-    cr.execute(
-        """
-        SELECT COUNT({0}), {0}
-        FROM carrier_delivery
-        GROUP BY {0}
-        """.format(openupgrade.get_legacy_name('carrier_id'))
-    )
-    rows = cr.fetchall()
-    with api.Environment.manage():
-        env = api.Environment(cr, SUPERUSER_ID, {})
-        carrier_obj = env['delivery.carrier']
-        for count, old_carrier_id in rows:
-            if count <= 1:
-                continue
-            # Get children ids
-            cr.execute(
-                """
-                SELECT id
-                FROM carrier_delivery
-                WHERE {0} = %s
-                """.format(openupgrade.get_legacy_name('carrier_id')),
-                (old_carrier_id, )
-            )
-            child_ids = [x[0] for x in cr.fetchall()]
-            # Get old carrier data
-            cr.execute(
-                """
-                SELECT name, partner_id
-                FROM carrier_delivery
-                WHERE {0} = %s
-                """.format(openupgrade.get_legacy_name('carrier_id')),
-                (old_carrier_id, )
-            )
-            old_carrier_vals = cr.fetchone()
-            # Create new carrier and put the rest of the carriers as children
-            carrier = carrier_obj.create({
-                'name': old_carrier_vals[0],
-                'partner_id': old_carrier_vals[1],
-                'destination_type': 'multi',
-            })
-            cr.execute(
-                """
-                UPDATE carrier_delivery
-                SET parent_id = %s
-                WHERE ids = %s
-                """, (carrier.id, tuple(child_ids))
-            )
-
-
-def post_init_hook(cr, registry):  # pragma: no cover
-    if openupgrade and openupgrade.column_exists(
-            'delivery_carrier', openupgrade.get_legacy_name('carrier_id')):
-        migrate_from_v8(cr)
-
-
-def uninstall_hook(cr, registry):
-    with api.Environment.manage():
-        env = api.Environment(cr, SUPERUSER_ID, {})
-        act_window = env.ref('delivery.action_delivery_carrier_form')
-        if act_window:
-            act_window.domain = False
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
new file mode 100644
index 0000000000..2ab05427d8
--- /dev/null
+++ b/delivery_multi_destination/i18n/de.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Spediteur"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
new file mode 100644
index 0000000000..bb0060d7ac
--- /dev/null
+++ b/delivery_multi_destination/i18n/es.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Transportista"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/fr.po b/delivery_multi_destination/i18n/fr.po
new file mode 100644
index 0000000000..e403139940
--- /dev/null
+++ b/delivery_multi_destination/i18n/fr.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Transporteur"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/it.po b/delivery_multi_destination/i18n/it.po
new file mode 100644
index 0000000000..8c2a4f532f
--- /dev/null
+++ b/delivery_multi_destination/i18n/it.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Corriere"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/nl.po b/delivery_multi_destination/i18n/nl.po
new file mode 100644
index 0000000000..79462b016d
--- /dev/null
+++ b/delivery_multi_destination/i18n/nl.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Vervoerder"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/nl_NL.po b/delivery_multi_destination/i18n/nl_NL.po
new file mode 100644
index 0000000000..84d513b931
--- /dev/null
+++ b/delivery_multi_destination/i18n/nl_NL.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# Peter Hageman <hageman.p@gmail.com>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
+"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: nl_NL\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Vervoerder"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
new file mode 100644
index 0000000000..4f30031c73
--- /dev/null
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Transportador"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/sl.po b/delivery_multi_destination/i18n/sl.po
new file mode 100644
index 0000000000..24deece85e
--- /dev/null
+++ b/delivery_multi_destination/i18n/sl.po
@@ -0,0 +1,54 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * delivery_multi_destination
+# 
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-12-15 18:21+0000\n"
+"PO-Revision-Date: 2017-12-15 18:21+0000\n"
+"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Prevoznik"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 133ede270a..96436dcf30 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -1,9 +1,9 @@
 # -*- coding: utf-8 -*-
 # Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
-from openerp import api, fields, models
-from openerp.tools import config
+from odoo import api, fields, models
 
 
 class DeliveryCarrier(models.Model):
@@ -26,9 +26,7 @@ class DeliveryCarrier(models.Model):
 
     @api.multi
     def verify_carrier(self, contact):
-        test_condition = (config['test_enable'] and
-                          not self.env.context.get('test_delivery_multi'))
-        if test_condition or self.destination_type == 'one':
+        if self.destination_type == 'one':
             return super(DeliveryCarrier, self).verify_carrier(contact)
         for subcarrier in self.child_ids:
             if super(DeliveryCarrier, subcarrier).verify_carrier(contact):
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 14d775faf8..9e3f3ddd96 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -1,9 +1,8 @@
 # -*- coding: utf-8 -*-
-# Copyright <YEAR(S)> <AUTHOR(S)>
+# Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 from openerp.tests import common
-from ..hooks import uninstall_hook
 
 
 class TestDeliveryMultiDestination(common.SavepointCase):
@@ -13,35 +12,53 @@ def setUpClass(cls):
         cls.country_1 = cls.env['res.country'].create({
             'name': 'Test country 1',
         })
-        cls.country_2 = cls.env['res.country'].create({
-            'name': 'Test country 2',
-        })
         cls.partner_1 = cls.env['res.partner'].create({
             'name': 'Test partner 1',
             'country_id': cls.country_1.id,
         })
+        cls.country_2 = cls.env['res.country'].create({
+            'name': 'Test country 2',
+        })
+        cls.state = cls.env['res.country.state'].create({
+            'name': 'Test state',
+            'code': 'TS',
+            'country_id': cls.country_2.id,
+        })
         cls.partner_2 = cls.env['res.partner'].create({
             'name': 'Test partner 2',
             'country_id': cls.country_2.id,
+            'state_id': cls.state.id,
+            'zip': '22222'
+        })
+        cls.partner_3 = cls.env['res.partner'].create({
+            'name': 'Test partner 3',
+            'country_id': cls.country_2.id,
+            'state_id': cls.state.id,
+            'zip': '33333'
         })
         cls.carrier_multi = cls.env['delivery.carrier'].create({
             'name': 'Test carrier multi',
-            'partner_id': cls.partner_1.id,
             'destination_type': 'multi',
             'delivery_type': 'fixed',
             'fixed_price': 100,
             'child_ids': [
                 (0, 0, {
+                    'name': 'Test child 1',
                     'sequence': 1,
-                    'partner_id': cls.partner_1.id,
-                    'country_ids': [(6, 0, cls.country_1.ids)],
+                    'country_ids': [(6, 0, cls.country_2.ids)],
+                    'state_ids': [(6, 0, cls.state.ids)],
+                    'zip_from': 20000,
+                    'zip_to': 29999,
                     'delivery_type': 'fixed',
                     'fixed_price': 50,
                 }),
                 (0, 0, {
+                    'name': 'Test child 2',
                     'sequence': 2,
-                    'partner_id': cls.partner_1.id,
                     'country_ids': [(6, 0, cls.country_2.ids)],
+                    'state_ids': [(6, 0, cls.state.ids)],
+                    'zip_from': 30000,
+                    'zip_to': 39999,
                     'delivery_type': 'fixed',
                     'fixed_price': 150,
                 })
@@ -57,28 +74,27 @@ def setUpClass(cls):
         })
         cls.sale_order = cls.env['sale.order'].create({
             'partner_id': cls.partner_1.id,
+            'picking_policy': 'direct',
             'order_line': [
                 (0, 0, {
                     'name': 'Test',
                     'product_id': cls.product.id,
                     'product_uom_qty': 1,
+                    'price_unit': 1,
                 }),
             ]
         })
 
     def test_delivery_multi_destination(self):
-        order = self.sale_order.with_context(test_delivery_multi=True)
+        order = self.sale_order
         order.carrier_id = self.carrier_single.id
         self.assertAlmostEqual(order.delivery_price, 100, 2)
         order.carrier_id = self.carrier_multi.id
-        self.assertAlmostEqual(order.delivery_price, 50, 2)
-        # HACK: Needed as Odoo doesn't recompute non stored fields in tests
         order.invalidate_cache()
         order.partner_shipping_id = self.partner_2.id
-        order.partner_id = self.partner_2.id
+        order.delivery_set()
+        self.assertAlmostEqual(order.delivery_price, 50, 2)
+        order.invalidate_cache()
+        order.partner_shipping_id = self.partner_3.id
+        order.delivery_set()
         self.assertAlmostEqual(order.delivery_price, 150, 2)
-
-    def test_uninstall_hook(self):
-        uninstall_hook(self.env.cr, self.env.registry)
-        act_window = self.env.ref('delivery.action_delivery_carrier_form')
-        self.assertFalse(act_window.domain)
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index 2c5c2d3a2e..2e445fd65b 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+<!-- Copyright 2016-2017 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+     Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
      License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
 
 <odoo>
@@ -8,27 +9,25 @@
         <field name="model">delivery.carrier</field>
         <field name="inherit_id" ref="delivery.view_delivery_carrier_form"/>
         <field name="arch" type="xml">
-            <field name="shipping_enabled" position="before">
+            <field name="delivery_type" position="before">
                 <field name="destination_type"
                        invisible="context.get('show_children_carriers', False)"
                 />
             </field>
-            <xpath expr="//field[@name='delivery_type']/ancestor::page" position="attributes">
+            <xpath expr="//field[@name='fixed_price']/ancestor::page"
+                   position="attributes">
                 <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
             <xpath expr="//field[@name='country_ids']/ancestor::page" position="attributes">
                 <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
-            <field name="partner_id" position="attributes">
-                <attribute name="invisible">context.get('show_children_carriers', False)</attribute>
-            </field>
             <notebook position="inside">
                 <page string="Destinations"
                       name="page_multi_destination"
                       attrs="{'invisible': [('destination_type', '!=', 'multi')]}"
                 >
                     <field name="child_ids"
-                           context="{'show_children_carriers': True, 'default_partner_id': partner_id}"
+                           context="{'show_children_carriers': True}"
                     />
                 </page>
             </notebook>
@@ -39,13 +38,8 @@
         <field name="model">delivery.carrier</field>
         <field name="inherit_id" ref="delivery.view_delivery_carrier_tree"/>
         <field name="arch" type="xml">
-            <field name="partner_id" position="attributes">
-                <attribute name="invisible">context.get('show_children_carriers', False)</attribute>
-            </field>
-            <field name="price" position="attributes">
-                <attribute name="invisible">context.get('show_children_carriers', False)</attribute>
-            </field>
-            <field name="price" position="after">
+            <field name="delivery_type" position="after">
+                <field name="destination_type"/>
                 <field name="country_ids"
                        invisible="not context.get('show_children_carriers', False)"
                 />

From bf114e45d5721c46338db5bce4dfc0b027937f20 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@gmail.com>
Date: Sat, 23 Dec 2017 13:06:59 +0100
Subject: [PATCH 03/23] [FIX+IMP] delivery_multi_destination: Don't show
 children + demo (#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
---
 delivery_multi_destination/__manifest__.py    |  5 +-
 .../demo/delivery_carrier_demo.xml            | 71 ++++++++++++++++
 delivery_multi_destination/i18n/cs_CZ.po      | 83 +++++++++++++++++++
 delivery_multi_destination/i18n/de.po         | 32 ++++++-
 .../i18n/delivery_multi_destination.pot       | 78 +++++++++++++++++
 delivery_multi_destination/i18n/es.po         | 49 ++++++++---
 delivery_multi_destination/i18n/fr.po         | 32 ++++++-
 delivery_multi_destination/i18n/it.po         | 32 ++++++-
 delivery_multi_destination/i18n/nl.po         | 32 ++++++-
 delivery_multi_destination/i18n/nl_NL.po      | 35 +++++++-
 delivery_multi_destination/i18n/pt_BR.po      | 35 +++++++-
 delivery_multi_destination/i18n/sl.po         | 35 +++++++-
 .../models/delivery_carrier.py                | 24 +++++-
 .../tests/test_delivery_multi_destination.py  | 16 ++++
 .../views/delivery_carrier_view.xml           | 13 +--
 15 files changed, 537 insertions(+), 35 deletions(-)
 create mode 100644 delivery_multi_destination/demo/delivery_carrier_demo.xml
 create mode 100644 delivery_multi_destination/i18n/cs_CZ.po
 create mode 100644 delivery_multi_destination/i18n/delivery_multi_destination.pot

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 08a8b34e82..28a08a4fb1 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -5,7 +5,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "10.0.1.0.0",
+    "version": "10.0.1.1.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, "
@@ -15,6 +15,9 @@
     "depends": [
         "delivery",
     ],
+    "demo": [
+        "demo/delivery_carrier_demo.xml",
+    ],
     "data": [
         "views/delivery_carrier_view.xml",
     ],
diff --git a/delivery_multi_destination/demo/delivery_carrier_demo.xml b/delivery_multi_destination/demo/delivery_carrier_demo.xml
new file mode 100644
index 0000000000..7eadbd1668
--- /dev/null
+++ b/delivery_multi_destination/demo/delivery_carrier_demo.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo noupdate="1">
+
+    <record id="delivery_carrier_multi" model="delivery.carrier">
+        <field name="name">International Carrier Inc.</field>
+        <field name="sequence">4</field>
+        <field name="product_type">service</field>
+        <field name="product_sale_ok" eval="False"/>
+        <field name="destination_type">multi</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="product_type">service</field>
+        <field name="product_sale_ok" eval="False"/>
+        <field name="country_ids" eval="[(4, ref('base.be'))]"/>
+    </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"/>
+        <field name="standard_price" eval="10"/>
+    </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"/>
+        <field name="standard_price" eval="30"/>
+    </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"/>
+        <field name="standard_price" eval="0"/>
+    </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="product_type">service</field>
+        <field name="product_sale_ok" eval="False"/>
+        <field name="country_ids" eval="[(4, ref('base.fr'))]"/>
+    </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="product_type">service</field>
+        <field name="product_sale_ok" eval="False"/>
+        <field name="country_ids" eval="[(4, ref('base.uk'))]"/>
+    </record>
+
+</odoo>
diff --git a/delivery_multi_destination/i18n/cs_CZ.po b/delivery_multi_destination/i18n/cs_CZ.po
new file mode 100644
index 0000000000..b7c9941141
--- /dev/null
+++ b/delivery_multi_destination/i18n/cs_CZ.po
@@ -0,0 +1,83 @@
+# 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
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr "Belgie"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr "Dopravce"
+
+#. 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:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr "Typ cíle"
+
+#. module: delivery_multi_destination
+#: model: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
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+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.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr "Mezinárodní dopravce Inc."
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr "Více cílů"
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+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:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr "Spojené království"
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
index 2ab05427d8..64dd5ffd09 100644
--- a/delivery_multi_destination/i18n/de.po
+++ b/delivery_multi_destination/i18n/de.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
 msgid ""
@@ -12,12 +12,19 @@ msgstr ""
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
 "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: de\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -38,6 +45,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +73,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
new file mode 100644
index 0000000000..4932f4bb5c
--- /dev/null
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -0,0 +1,78 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#	* delivery_multi_destination
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Carrier"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination type"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+msgid "Parent carrier"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
+
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index bb0060d7ac..95ba20546f 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -1,23 +1,31 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
+# enjolras <yo@miguelrevilla.com>, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-12-15 18:21+0000\n"
-"PO-Revision-Date: 2017-12-15 18:21+0000\n"
-"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"POT-Creation-Date: 2018-03-13 03:45+0000\n"
+"PO-Revision-Date: 2018-03-13 03:45+0000\n"
+"Last-Translator: enjolras <yo@miguelrevilla.com>, 2018\n"
 "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: es\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr "Bélgica"
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -31,24 +39,45 @@ msgstr ""
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
 msgid "Destination type"
-msgstr ""
+msgstr "Tipo de destino"
 
 #. module: delivery_multi_destination
 #: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
-msgstr ""
+msgstr "Destinos"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr "Francia"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr "Transportes Internacionales, S.A."
 
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
-msgstr ""
+msgstr "Destino múltiples"
 
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "One destination"
-msgstr ""
+msgstr "Un destino"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
-msgstr ""
+msgstr "Transportista matriz"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr "Reino Unido"
diff --git a/delivery_multi_destination/i18n/fr.po b/delivery_multi_destination/i18n/fr.po
index e403139940..469f1f12dc 100644
--- a/delivery_multi_destination/i18n/fr.po
+++ b/delivery_multi_destination/i18n/fr.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
 msgid ""
@@ -12,12 +12,19 @@ msgstr ""
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
 "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: fr\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -38,6 +45,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +73,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/it.po b/delivery_multi_destination/i18n/it.po
index 8c2a4f532f..15a15a0a66 100644
--- a/delivery_multi_destination/i18n/it.po
+++ b/delivery_multi_destination/i18n/it.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
 msgid ""
@@ -12,12 +12,19 @@ msgstr ""
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
 "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: it\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -38,6 +45,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +73,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/nl.po b/delivery_multi_destination/i18n/nl.po
index 79462b016d..cd469decc4 100644
--- a/delivery_multi_destination/i18n/nl.po
+++ b/delivery_multi_destination/i18n/nl.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
 msgid ""
@@ -12,12 +12,19 @@ msgstr ""
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
 "Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
+"Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: nl\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -38,6 +45,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +73,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/nl_NL.po b/delivery_multi_destination/i18n/nl_NL.po
index 84d513b931..d01f5d6be9 100644
--- a/delivery_multi_destination/i18n/nl_NL.po
+++ b/delivery_multi_destination/i18n/nl_NL.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # Peter Hageman <hageman.p@gmail.com>, 2017
 msgid ""
@@ -11,13 +11,21 @@ msgstr ""
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
-"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n"
+"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
+"teams/23907/nl_NL/)\n"
+"Language: nl_NL\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: nl_NL\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -38,6 +46,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +74,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 4f30031c73..0380a654b5 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
 msgid ""
@@ -11,13 +11,21 @@ msgstr ""
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
+"teams/23907/pt_BR/)\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: pt_BR\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Carrier"
@@ -38,6 +46,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +74,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/i18n/sl.po b/delivery_multi_destination/i18n/sl.po
index 24deece85e..564558d0fb 100644
--- a/delivery_multi_destination/i18n/sl.po
+++ b/delivery_multi_destination/i18n/sl.po
@@ -1,7 +1,7 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
 # * delivery_multi_destination
-# 
+#
 # Translators:
 # OCA Transbot <transbot@odoo-community.org>, 2017
 msgid ""
@@ -12,11 +12,19 @@ msgstr ""
 "PO-Revision-Date: 2017-12-15 18:21+0000\n"
 "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
 "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
+"Language: sl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Language: sl\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
+msgid "Belgium"
+msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
@@ -38,6 +46,20 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
+msgid "France"
+msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+msgid "International Carrier Inc."
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -52,3 +74,10 @@ msgstr ""
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
 msgid "Parent carrier"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
+#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
+msgid "United Kingdom"
+msgstr ""
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 96436dcf30..f215327cdf 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -24,10 +24,32 @@ class DeliveryCarrier(models.Model):
         default="one", required=True,
     )
 
+    def search(self, args, offset=0, limit=None, order=None, count=False):
+        """Don't show by default children carriers."""
+        if not self.env.context.get('show_children_carriers'):
+            if args is None:
+                args = []
+            args += [('parent_id', '=', False)]
+        return super(DeliveryCarrier, self).search(
+            args, offset=offset, limit=limit, order=order, count=count,
+        )
+
+    @api.model
+    def name_search(self, name='', args=None, operator='ilike', limit=100):
+        """Don't show by default children carriers."""
+        if not self.env.context.get('show_children_carriers'):
+            if args is None:
+                args = []
+            args += [('parent_id', '=', False)]
+        return super(DeliveryCarrier, self)._name_search(
+            name=name, args=args, operator=operator, limit=limit,
+        )
+
     @api.multi
     def verify_carrier(self, contact):
         if self.destination_type == 'one':
             return super(DeliveryCarrier, self).verify_carrier(contact)
-        for subcarrier in self.child_ids:
+        carrier = self.with_context(show_children_carriers=True)
+        for subcarrier in carrier.child_ids:
             if super(DeliveryCarrier, subcarrier).verify_carrier(contact):
                 return subcarrier
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 9e3f3ddd96..a2e6ec625f 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -98,3 +98,19 @@ def test_delivery_multi_destination(self):
         order.partner_shipping_id = self.partner_3.id
         order.delivery_set()
         self.assertAlmostEqual(order.delivery_price, 150, 2)
+
+    def test_search(self):
+        carriers = self.env['delivery.carrier'].search([])
+        children_carrier = self.carrier_multi.with_context(
+            show_children_carriers=True,
+        ).child_ids[0]
+        self.assertNotIn(children_carrier, carriers)
+
+    def test_name_search(self):
+        carrier_names = self.env['delivery.carrier'].name_search()
+        children_carrier = self.carrier_multi.with_context(
+            show_children_carriers=True,
+        ).child_ids[0]
+        self.assertTrue(
+            all(x[0] != children_carrier.id for x in carrier_names)
+        )
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index 2e445fd65b..3942b90b45 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -11,7 +11,7 @@
         <field name="arch" type="xml">
             <field name="delivery_type" position="before">
                 <field name="destination_type"
-                       invisible="context.get('show_children_carriers', False)"
+                       invisible="context.get('show_children_fields', False)"
                 />
             </field>
             <xpath expr="//field[@name='fixed_price']/ancestor::page"
@@ -27,7 +27,7 @@
                       attrs="{'invisible': [('destination_type', '!=', 'multi')]}"
                 >
                     <field name="child_ids"
-                           context="{'show_children_carriers': True}"
+                           context="{'show_children_fields': True}"
                     />
                 </page>
             </notebook>
@@ -41,16 +41,16 @@
             <field name="delivery_type" position="after">
                 <field name="destination_type"/>
                 <field name="country_ids"
-                       invisible="not context.get('show_children_carriers', False)"
+                       invisible="not context.get('show_children_fields', False)"
                 />
                 <field name="state_ids"
-                       invisible="not context.get('show_children_carriers', False)"
+                       invisible="not context.get('show_children_fields', False)"
                 />
                 <field name="zip_from"
-                       invisible="not context.get('show_children_carriers', False)"
+                       invisible="not context.get('show_children_fields', False)"
                 />
                 <field name="zip_to"
-                       invisible="not context.get('show_children_carriers', False)"
+                       invisible="not context.get('show_children_fields', False)"
                 />
             </field>
         </field>
@@ -58,6 +58,7 @@
 
     <record id="delivery.action_delivery_carrier_form" model="ir.actions.act_window">
         <field name="domain">[('parent_id', '=', False)]</field>
+        <field name="context">{'show_children_carriers': True}</field>
     </record>
 
 </odoo>

From c1fbe16a389643711c2490daba9580d9ffc169ed Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@gmail.com>
Date: Fri, 18 Jan 2019 01:20:55 +0100
Subject: [PATCH 04/23] [MIG] delivery_multi_destination: Migration to 11.0

* Standard procedure
* README by fragments
* Code changed to follow v11 logic
* Tests adapted and expanded
---
 delivery_multi_destination/README.rst         |  76 ++-
 delivery_multi_destination/__init__.py        |   1 -
 delivery_multi_destination/__manifest__.py    |   5 +-
 .../demo/delivery_carrier_demo.xml            |  35 +-
 delivery_multi_destination/i18n/cs_CZ.po      |  42 +-
 delivery_multi_destination/i18n/de.po         |  36 +-
 .../i18n/delivery_multi_destination.pot       |  38 +-
 delivery_multi_destination/i18n/es.po         |  42 +-
 delivery_multi_destination/i18n/fr.po         |  36 +-
 delivery_multi_destination/i18n/it.po         |  36 +-
 delivery_multi_destination/i18n/nl.po         |  36 +-
 delivery_multi_destination/i18n/nl_NL.po      |  36 +-
 delivery_multi_destination/i18n/pt_BR.po      |  36 +-
 delivery_multi_destination/i18n/sl.po         |  36 +-
 delivery_multi_destination/models/__init__.py |   1 -
 .../models/delivery_carrier.py                |  35 +-
 .../readme/CONFIGURE.rst                      |   8 +
 .../readme/CONTRIBUTORS.rst                   |   4 +
 .../readme/DESCRIPTION.rst                    |   6 +
 delivery_multi_destination/readme/ROADMAP.rst |   2 +
 delivery_multi_destination/readme/USAGE.rst   |   2 +
 .../static/description/index.html             | 456 ++++++++++++++++++
 delivery_multi_destination/tests/__init__.py  |   1 -
 .../tests/test_delivery_multi_destination.py  |  34 +-
 24 files changed, 863 insertions(+), 177 deletions(-)
 create mode 100644 delivery_multi_destination/readme/CONFIGURE.rst
 create mode 100644 delivery_multi_destination/readme/CONTRIBUTORS.rst
 create mode 100644 delivery_multi_destination/readme/DESCRIPTION.rst
 create mode 100644 delivery_multi_destination/readme/ROADMAP.rst
 create mode 100644 delivery_multi_destination/readme/USAGE.rst
 create mode 100644 delivery_multi_destination/static/description/index.html

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index 375bd30aed..f6cfc5ad6a 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -1,11 +1,30 @@
-.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
-   :target: https://www.gnu.org/licenses/agpl
-   :alt: License: AGPL-3
-
 ==================================================
 Multiple destinations for the same delivery method
 ==================================================
 
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !! This file is generated by oca-gen-addon-readme !!
+   !! changes will be overwritten.                   !!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |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/11.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-11-0/delivery-carrier-11-0-delivery_multi_destination
+    :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+    :target: https://runbot.odoo-community.org/runbot/99/11.0
+    :alt: Try me on Runbot
+
+|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
@@ -13,6 +32,11 @@ 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
 =============
 
@@ -31,43 +55,51 @@ Usage
 #. When using the delivery method in a Sales order, delivery address will be
    used for computing the delivery price according introduced destinations.
 
-.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
-   :alt: Try me on Runbot
-   :target: https://runbot.odoo-community.org/runbot/99/10.0
+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 smashing it by providing a detailed and welcomed feedback.
+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 smashing it by providing a detailed and welcomed
+`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2011.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
 =======
 
-Images
-------
+Authors
+~~~~~~~
 
-* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
+* Tecnativa
 
 Contributors
-------------
+~~~~~~~~~~~~
 
-* Pedro M. Baeza <pedro.baeza@tecnativa.com>
-* Luis M. Ontalba <luis.martinez@tecnativa.com>
+* `Tecnativa <https://www.tecnativa.com>__`:
 
-Maintainer
-----------
+  * Pedro M. Baeza <pedro.baeza@tecnativa.com>
+  * Luis M. Ontalba <luis.martinez@tecnativa.com>
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
 
 .. image:: https://odoo-community.org/logo.png
    :alt: Odoo Community Association
    :target: https://odoo-community.org
 
-This module is maintained by the OCA.
-
 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.
 
-To contribute to this module, please visit https://odoo-community.org.
+This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/11.0/delivery_multi_destination>`_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/delivery_multi_destination/__init__.py b/delivery_multi_destination/__init__.py
index ec50cfc0f3..69f7babdfb 100644
--- a/delivery_multi_destination/__init__.py
+++ b/delivery_multi_destination/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 from . import models
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 28a08a4fb1..7a6854d6d8 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -1,11 +1,10 @@
-# -*- coding: utf-8 -*-
-# Copyright 2016-2017 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# Copyright 2016-2019 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "10.0.1.1.0",
+    "version": "11.0.1.0.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, "
diff --git a/delivery_multi_destination/demo/delivery_carrier_demo.xml b/delivery_multi_destination/demo/delivery_carrier_demo.xml
index 7eadbd1668..c266ae0485 100644
--- a/delivery_multi_destination/demo/delivery_carrier_demo.xml
+++ b/delivery_multi_destination/demo/delivery_carrier_demo.xml
@@ -1,12 +1,21 @@
 <?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="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="product_type">service</field>
-        <field name="product_sale_ok" eval="False"/>
         <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="type">service</field>
     </record>
 
     <record id="delivery_carrier_multi_child_1" model="delivery.carrier">
@@ -15,16 +24,14 @@
         <field name="fixed_price">20</field>
         <field name="sequence">1</field>
         <field name="delivery_type">base_on_rule</field>
-        <field name="product_type">service</field>
-        <field name="product_sale_ok" eval="False"/>
         <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"/>
-        <field name="standard_price" eval="10"/>
     </record>
 
     <!--  delivery charge of product if weight more than 5kg-->
@@ -33,7 +40,6 @@
         <field name="operator">&gt;=</field>
         <field name="max_value" eval="5"/>
         <field name="list_base_price" eval="50"/>
-        <field name="standard_price" eval="30"/>
     </record>
 
     <!--  free delivery charge if price more than 300-->
@@ -43,7 +49,11 @@
         <field name="variable">price</field>
         <field name="max_value" eval="300"/>
         <field name="list_base_price" eval="0"/>
-        <field name="standard_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="type">service</field>
     </record>
 
     <record id="delivery_carrier_multi_child_2" model="delivery.carrier">
@@ -52,9 +62,13 @@
         <field name="fixed_price">40</field>
         <field name="sequence">2</field>
         <field name="delivery_type">fixed</field>
-        <field name="product_type">service</field>
-        <field name="product_sale_ok" eval="False"/>
         <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="type">service</field>
     </record>
 
     <record id="delivery_carrier_multi_child_3" model="delivery.carrier">
@@ -63,9 +77,8 @@
         <field name="fixed_price">60</field>
         <field name="sequence">2</field>
         <field name="delivery_type">fixed</field>
-        <field name="product_type">service</field>
-        <field name="product_sale_ok" eval="False"/>
         <field name="country_ids" eval="[(4, ref('base.uk'))]"/>
+        <field name="product_id" ref="product_product_delivery_carrier_multi_child_3"/>
     </record>
 
 </odoo>
diff --git a/delivery_multi_destination/i18n/cs_CZ.po b/delivery_multi_destination/i18n/cs_CZ.po
index b7c9941141..0886136ef1 100644
--- a/delivery_multi_destination/i18n/cs_CZ.po
+++ b/delivery_multi_destination/i18n/cs_CZ.po
@@ -21,8 +21,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr "Belgie"
 
@@ -31,16 +29,17 @@ msgstr "Belgie"
 msgid "Carrier"
 msgstr "Dopravce"
 
+#. 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:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
-msgstr "Typ cíle"
-
 #. module: delivery_multi_destination
 #: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
@@ -48,18 +47,37 @@ msgstr "Destinace"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 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.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -77,7 +95,5 @@ msgstr "Nadřazený dopravce"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr "Spojené království"
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
index 64dd5ffd09..95cde3473c 100644
--- a/delivery_multi_destination/i18n/de.po
+++ b/delivery_multi_destination/i18n/de.po
@@ -20,8 +20,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -31,13 +29,13 @@ msgid "Carrier"
 msgstr "Spediteur"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -47,18 +45,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -76,7 +90,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index 4932f4bb5c..72f0531527 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -4,7 +4,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.0\n"
 "Report-Msgid-Bugs-To: \n"
 "Last-Translator: <>\n"
 "Language-Team: \n"
@@ -15,8 +15,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -26,13 +24,13 @@ msgid "Carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -42,18 +40,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -71,8 +85,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
 
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index 95ba20546f..4e052331c4 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -21,8 +21,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr "Bélgica"
 
@@ -31,16 +29,17 @@ msgstr "Bélgica"
 msgid "Carrier"
 msgstr "Transportista"
 
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#, fuzzy
+msgid "Destination Type"
+msgstr "Tipo de destino"
+
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
 msgid "Destination grid"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
-msgstr "Tipo de destino"
-
 #. module: delivery_multi_destination
 #: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
@@ -48,18 +47,37 @@ msgstr "Destinos"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr "Francia"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 "Transportes Internacionales, S.A."
 
+#. 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 "Transportes Internacionales, S.A."
+
+#. 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 "Transportes Internacionales, S.A."
+
+#. 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 "Transportes Internacionales, S.A."
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -77,7 +95,5 @@ msgstr "Transportista matriz"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr "Reino Unido"
diff --git a/delivery_multi_destination/i18n/fr.po b/delivery_multi_destination/i18n/fr.po
index 469f1f12dc..b73dd87e5d 100644
--- a/delivery_multi_destination/i18n/fr.po
+++ b/delivery_multi_destination/i18n/fr.po
@@ -20,8 +20,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -31,13 +29,13 @@ msgid "Carrier"
 msgstr "Transporteur"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -47,18 +45,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -76,7 +90,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/i18n/it.po b/delivery_multi_destination/i18n/it.po
index 15a15a0a66..048e6397d3 100644
--- a/delivery_multi_destination/i18n/it.po
+++ b/delivery_multi_destination/i18n/it.po
@@ -20,8 +20,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -31,13 +29,13 @@ msgid "Carrier"
 msgstr "Corriere"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -47,18 +45,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -76,7 +90,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/i18n/nl.po b/delivery_multi_destination/i18n/nl.po
index cd469decc4..fc4b530452 100644
--- a/delivery_multi_destination/i18n/nl.po
+++ b/delivery_multi_destination/i18n/nl.po
@@ -20,8 +20,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -31,13 +29,13 @@ msgid "Carrier"
 msgstr "Vervoerder"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -47,18 +45,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -76,7 +90,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/i18n/nl_NL.po b/delivery_multi_destination/i18n/nl_NL.po
index d01f5d6be9..3f1e874919 100644
--- a/delivery_multi_destination/i18n/nl_NL.po
+++ b/delivery_multi_destination/i18n/nl_NL.po
@@ -21,8 +21,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -32,13 +30,13 @@ msgid "Carrier"
 msgstr "Vervoerder"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -48,18 +46,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -77,7 +91,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 0380a654b5..8adfa9e77e 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -21,8 +21,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -32,13 +30,13 @@ msgid "Carrier"
 msgstr "Transportador"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -48,18 +46,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -77,7 +91,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/i18n/sl.po b/delivery_multi_destination/i18n/sl.po
index 564558d0fb..ca0e274a50 100644
--- a/delivery_multi_destination/i18n/sl.po
+++ b/delivery_multi_destination/i18n/sl.po
@@ -21,8 +21,6 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_1_product_template
 msgid "Belgium"
 msgstr ""
 
@@ -32,13 +30,13 @@ msgid "Carrier"
 msgstr "Prevoznik"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
-msgid "Destination grid"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
-msgid "Destination type"
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
@@ -48,18 +46,34 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_2_product_template
 msgid "France"
 msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_product_template
+#: 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 ""
 
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr ""
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
@@ -77,7 +91,5 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-#: model:product.product,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_product
-#: model:product.template,name:delivery_multi_destination.delivery_carrier_multi_child_3_product_template
 msgid "United Kingdom"
 msgstr ""
diff --git a/delivery_multi_destination/models/__init__.py b/delivery_multi_destination/models/__init__.py
index add727a8de..4060769124 100644
--- a/delivery_multi_destination/models/__init__.py
+++ b/delivery_multi_destination/models/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 from . import delivery_carrier
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index f215327cdf..8d5be6714c 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -1,5 +1,4 @@
-# -*- coding: utf-8 -*-
-# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+# Copyright 2016-2019 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
@@ -45,11 +44,29 @@ def name_search(self, name='', args=None, operator='ilike', limit=100):
             name=name, args=args, operator=operator, limit=limit,
         )
 
-    @api.multi
-    def verify_carrier(self, contact):
+    def available_carriers(self, partner):
+        """Add childrens on the possible list to select carriers. This is
+        used on `website_sale_delivery` module.
+        """
+        candidates = self.env['delivery.carrier']
+        for carrier in self:
+            if self.destination_type == 'one':
+                candidates |= carrier
+            else:
+                carrier = self.with_context(show_children_carriers=True)
+                candidates |= carrier.child_ids
+        return super(DeliveryCarrier, candidates).available_carriers(partner)
+
+    def rate_shipment(self, order):
+        """We have to override this method for getting the proper price
+        according destination on sales orders.
+        """
         if self.destination_type == 'one':
-            return super(DeliveryCarrier, self).verify_carrier(contact)
-        carrier = self.with_context(show_children_carriers=True)
-        for subcarrier in carrier.child_ids:
-            if super(DeliveryCarrier, subcarrier).verify_carrier(contact):
-                return subcarrier
+            return super().rate_shipment(order)
+        else:
+            carrier = self.with_context(show_children_carriers=True)
+            for subcarrier in carrier.child_ids:
+                if subcarrier._match_address(order.partner_shipping_id):
+                    return super(
+                        DeliveryCarrier, subcarrier,
+                    ).rate_shipment(order)
diff --git a/delivery_multi_destination/readme/CONFIGURE.rst b/delivery_multi_destination/readme/CONFIGURE.rst
new file mode 100644
index 0000000000..4621c12bb1
--- /dev/null
+++ b/delivery_multi_destination/readme/CONFIGURE.rst
@@ -0,0 +1,8 @@
+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.
diff --git a/delivery_multi_destination/readme/CONTRIBUTORS.rst b/delivery_multi_destination/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000000..502fca703b
--- /dev/null
+++ b/delivery_multi_destination/readme/CONTRIBUTORS.rst
@@ -0,0 +1,4 @@
+* `Tecnativa <https://www.tecnativa.com>__`:
+
+  * Pedro M. Baeza <pedro.baeza@tecnativa.com>
+  * Luis M. Ontalba <luis.martinez@tecnativa.com>
diff --git a/delivery_multi_destination/readme/DESCRIPTION.rst b/delivery_multi_destination/readme/DESCRIPTION.rst
new file mode 100644
index 0000000000..a6d2cbf50c
--- /dev/null
+++ b/delivery_multi_destination/readme/DESCRIPTION.rst
@@ -0,0 +1,6 @@
+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.
diff --git a/delivery_multi_destination/readme/ROADMAP.rst b/delivery_multi_destination/readme/ROADMAP.rst
new file mode 100644
index 0000000000..a123b25024
--- /dev/null
+++ b/delivery_multi_destination/readme/ROADMAP.rst
@@ -0,0 +1,2 @@
+* Delivery prices for e-commerce (`website_sale_delivery` module) might need
+  an extra module for handling everything properly.
diff --git a/delivery_multi_destination/readme/USAGE.rst b/delivery_multi_destination/readme/USAGE.rst
new file mode 100644
index 0000000000..58f93d4e88
--- /dev/null
+++ b/delivery_multi_destination/readme/USAGE.rst
@@ -0,0 +1,2 @@
+#. When using the delivery method in a Sales order, delivery address will be
+   used for computing the delivery price according introduced destinations.
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
new file mode 100644
index 0000000000..91b865b511
--- /dev/null
+++ b/delivery_multi_destination/static/description/index.html
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
+<title>Multiple destinations for the same delivery method</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+.subscript {
+  vertical-align: sub;
+  font-size: smaller }
+
+.superscript {
+  vertical-align: super;
+  font-size: smaller }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left, table.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right, table.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+table.align-center {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+.align-top    {
+  vertical-align: top }
+
+.align-middle {
+  vertical-align: middle }
+
+.align-bottom {
+  vertical-align: bottom }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+/* "booktabs" style (no vertical lines) */
+table.docutils.booktabs {
+  border: 0px;
+  border-top: 2px solid;
+  border-bottom: 2px solid;
+  border-collapse: collapse;
+}
+table.docutils.booktabs * {
+  border: 0px;
+}
+table.docutils.booktabs th {
+  border-bottom: thin solid;
+  text-align: left;
+}
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="multiple-destinations-for-the-same-delivery-method">
+<h1 class="title">Multiple destinations for the same delivery method</h1>
+
+<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! This file is generated by oca-gen-addon-readme !!
+!! changes will be overwritten.                   !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/11.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-11-0/delivery-carrier-11-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p>This module allows to set different price rules depending on the destination.</p>
+<p>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.</p>
+<p><strong>Table of contents</strong></p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
+<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
+<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
+<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
+<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
+<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
+<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
+<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="configuration">
+<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
+<p>To configure delivery methods with multiple destinations:</p>
+<ol class="arabic simple">
+<li>Go to Inventory &gt; Configuration &gt; Delivery &gt; Delivery Methods</li>
+<li>Create or edit an existing record.</li>
+<li>Select “Destination type” = “Multiple destinations”.</li>
+<li>Introduce a line for each destination in the new tab “Destinations”</li>
+<li>Lines have priority, so you have to put first the lines with more restricted
+destinations.</li>
+</ol>
+</div>
+<div class="section" id="usage">
+<h1><a class="toc-backref" href="#id2">Usage</a></h1>
+<ol class="arabic simple">
+<li>When using the delivery method in a Sales order, delivery address will be
+used for computing the delivery price according introduced destinations.</li>
+</ol>
+</div>
+<div class="section" id="known-issues-roadmap">
+<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
+<ul class="simple">
+<li>Delivery prices for e-commerce (<cite>website_sale_delivery</cite> module) might need
+an extra module for handling everything properly.</li>
+</ul>
+</div>
+<div class="section" id="bug-tracker">
+<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
+<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/delivery-carrier/issues">GitHub Issues</a>.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<p>Do not contact contributors directly about support or help with technical issues.</p>
+</div>
+<div class="section" id="credits">
+<h1><a class="toc-backref" href="#id5">Credits</a></h1>
+<div class="section" id="authors">
+<h2><a class="toc-backref" href="#id6">Authors</a></h2>
+<ul class="simple">
+<li>Tecnativa</li>
+</ul>
+</div>
+<div class="section" id="contributors">
+<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
+<ul class="simple">
+<li><cite>Tecnativa &lt;https://www.tecnativa.com&gt;__</cite>:<ul>
+<li>Pedro M. Baeza &lt;<a class="reference external" href="mailto:pedro.baeza&#64;tecnativa.com">pedro.baeza&#64;tecnativa.com</a>&gt;</li>
+<li>Luis M. Ontalba &lt;<a class="reference external" href="mailto:luis.martinez&#64;tecnativa.com">luis.martinez&#64;tecnativa.com</a>&gt;</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="maintainers">
+<h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
+<p>This module is maintained by the OCA.</p>
+<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
+<p>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.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/11.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
+<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/delivery_multi_destination/tests/__init__.py b/delivery_multi_destination/tests/__init__.py
index 3a4ea32c6b..a34eb49ca0 100644
--- a/delivery_multi_destination/tests/__init__.py
+++ b/delivery_multi_destination/tests/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
 from . import test_delivery_multi_destination
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index a2e6ec625f..6a51b0ad20 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -1,8 +1,8 @@
-# -*- coding: utf-8 -*-
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+# Copyright 2019 Tecnativa - Pedro M. Baeza
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
 
-from openerp.tests import common
+from odoo.tests import common
 
 
 class TestDeliveryMultiDestination(common.SavepointCase):
@@ -36,14 +36,28 @@ def setUpClass(cls):
             'state_id': cls.state.id,
             'zip': '33333'
         })
+        cls.product = cls.env['product.product'].create({
+            'name': 'Test carrier multi',
+            'type': 'service',
+        })
+        cls.product_child_1 = cls.env['product.product'].create({
+            'name': 'Test child 1',
+            'type': 'service',
+        })
+        cls.product_child_2 = cls.env['product.product'].create({
+            'name': 'Test child 2',
+            'type': 'service',
+        })
         cls.carrier_multi = cls.env['delivery.carrier'].create({
             'name': 'Test carrier multi',
+            'product_id': cls.product.id,
             'destination_type': 'multi',
             'delivery_type': 'fixed',
             'fixed_price': 100,
             'child_ids': [
                 (0, 0, {
                     'name': 'Test child 1',
+                    'product_id': cls.product_child_1.id,
                     'sequence': 1,
                     'country_ids': [(6, 0, cls.country_2.ids)],
                     'state_ids': [(6, 0, cls.state.ids)],
@@ -54,6 +68,7 @@ def setUpClass(cls):
                 }),
                 (0, 0, {
                     'name': 'Test child 2',
+                    'product_id': cls.product_child_2.id,
                     'sequence': 2,
                     'country_ids': [(6, 0, cls.country_2.ids)],
                     'state_ids': [(6, 0, cls.state.ids)],
@@ -88,15 +103,14 @@ def setUpClass(cls):
     def test_delivery_multi_destination(self):
         order = self.sale_order
         order.carrier_id = self.carrier_single.id
+        order.get_delivery_price()
         self.assertAlmostEqual(order.delivery_price, 100, 2)
         order.carrier_id = self.carrier_multi.id
-        order.invalidate_cache()
         order.partner_shipping_id = self.partner_2.id
-        order.delivery_set()
+        order.get_delivery_price()
         self.assertAlmostEqual(order.delivery_price, 50, 2)
-        order.invalidate_cache()
         order.partner_shipping_id = self.partner_3.id
-        order.delivery_set()
+        order.get_delivery_price()
         self.assertAlmostEqual(order.delivery_price, 150, 2)
 
     def test_search(self):
@@ -114,3 +128,11 @@ def test_name_search(self):
         self.assertTrue(
             all(x[0] != children_carrier.id for x in carrier_names)
         )
+
+    def test_available_carriers(self):
+        self.assertEqual(
+            self.carrier_multi.available_carriers(self.partner_2),
+            self.carrier_multi.with_context(
+                show_children_carriers=True,
+            ).child_ids[0],
+        )

From 511b5ba682b47f01774d39f4847467179d4ede0a Mon Sep 17 00:00:00 2001
From: "Luis M. Ontalba" <luismaront@gmail.com>
Date: Sat, 18 May 2019 14:02:04 +0200
Subject: [PATCH 05/23] [MIG] delivery_multi_destination: Migration to 12.0

---
 delivery_multi_destination/README.rst         | 10 ++---
 delivery_multi_destination/__init__.py        |  2 +-
 delivery_multi_destination/__manifest__.py    |  4 +-
 delivery_multi_destination/i18n/cs_CZ.po      | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/de.po         | 39 ++++++++++++++++---
 .../i18n/delivery_multi_destination.pot       | 36 ++++++++++++++---
 delivery_multi_destination/i18n/es.po         | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/fr.po         | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/it.po         | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/nl.po         | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/nl_NL.po      | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/pt_BR.po      | 39 ++++++++++++++++---
 delivery_multi_destination/i18n/sl.po         | 39 ++++++++++++++++---
 delivery_multi_destination/models/__init__.py |  2 +-
 .../models/delivery_carrier.py                |  2 +-
 .../static/description/index.html             |  8 ++--
 delivery_multi_destination/tests/__init__.py  |  2 +-
 .../tests/test_delivery_multi_destination.py  |  2 +-
 .../views/delivery_carrier_view.xml           |  2 +-
 19 files changed, 344 insertions(+), 77 deletions(-)

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index f6cfc5ad6a..477e57deca 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -14,13 +14,13 @@ Multiple destinations for the same delivery method
     :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/11.0/delivery_multi_destination
+    :target: https://github.com/OCA/delivery-carrier/tree/12.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-11-0/delivery-carrier-11-0-delivery_multi_destination
+    :target: https://translation.odoo-community.org/projects/delivery-carrier-12-0/delivery-carrier-12-0-delivery_multi_destination
     :alt: Translate me on Weblate
 .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
-    :target: https://runbot.odoo-community.org/runbot/99/11.0
+    :target: https://runbot.odoo-community.org/runbot/99/12.0
     :alt: Try me on Runbot
 
 |badge1| |badge2| |badge3| |badge4| |badge5| 
@@ -67,7 +67,7 @@ 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 smashing it by providing a detailed and welcomed
-`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2012.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.
 
@@ -100,6 +100,6 @@ 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/11.0/delivery_multi_destination>`_ project on GitHub.
+This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/12.0/delivery_multi_destination>`_ project on GitHub.
 
 You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/delivery_multi_destination/__init__.py b/delivery_multi_destination/__init__.py
index 69f7babdfb..31660d6a96 100644
--- a/delivery_multi_destination/__init__.py
+++ b/delivery_multi_destination/__init__.py
@@ -1,3 +1,3 @@
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from . import models
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 7a6854d6d8..3e0a17f606 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -1,10 +1,10 @@
 # Copyright 2016-2019 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "11.0.1.0.0",
+    "version": "12.0.1.0.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, "
diff --git a/delivery_multi_destination/i18n/cs_CZ.po b/delivery_multi_destination/i18n/cs_CZ.po
index 0886136ef1..c225801590 100644
--- a/delivery_multi_destination/i18n/cs_CZ.po
+++ b/delivery_multi_destination/i18n/cs_CZ.po
@@ -26,22 +26,22 @@ msgstr "Belgie"
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Dopravce"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: 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
+#: 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:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr "Destinace"
 
@@ -89,11 +89,38 @@ 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
+#: 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: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 "Unit(s)"
+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,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Dopravce"
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
index 95cde3473c..07b6797587 100644
--- a/delivery_multi_destination/i18n/de.po
+++ b/delivery_multi_destination/i18n/de.po
@@ -25,21 +25,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Spediteur"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -84,11 +84,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Spediteur"
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index 72f0531527..6fc3c6d320 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -4,7 +4,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Odoo Server 11.0\n"
+"Project-Id-Version: Odoo Server 12.0\n"
 "Report-Msgid-Bugs-To: \n"
 "Last-Translator: <>\n"
 "Language-Team: \n"
@@ -20,21 +20,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
+msgid "Delivery Methods"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -79,12 +79,36 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index 4e052331c4..a7474b8da9 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -26,22 +26,22 @@ msgstr "Bélgica"
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Transportista"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 #, fuzzy
 msgid "Destination Type"
 msgstr "Tipo de destino"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr "Destinos"
 
@@ -89,11 +89,38 @@ msgid "One destination"
 msgstr "Un destino"
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr "Transportista matriz"
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr "Reino Unido"
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Transportista"
diff --git a/delivery_multi_destination/i18n/fr.po b/delivery_multi_destination/i18n/fr.po
index b73dd87e5d..7017d6e3e2 100644
--- a/delivery_multi_destination/i18n/fr.po
+++ b/delivery_multi_destination/i18n/fr.po
@@ -25,21 +25,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Transporteur"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -84,11 +84,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Transporteur"
diff --git a/delivery_multi_destination/i18n/it.po b/delivery_multi_destination/i18n/it.po
index 048e6397d3..4e28623f1a 100644
--- a/delivery_multi_destination/i18n/it.po
+++ b/delivery_multi_destination/i18n/it.po
@@ -25,21 +25,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Corriere"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -84,11 +84,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Corriere"
diff --git a/delivery_multi_destination/i18n/nl.po b/delivery_multi_destination/i18n/nl.po
index fc4b530452..e01b628370 100644
--- a/delivery_multi_destination/i18n/nl.po
+++ b/delivery_multi_destination/i18n/nl.po
@@ -25,21 +25,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Vervoerder"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -84,11 +84,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Vervoerder"
diff --git a/delivery_multi_destination/i18n/nl_NL.po b/delivery_multi_destination/i18n/nl_NL.po
index 3f1e874919..c61c876466 100644
--- a/delivery_multi_destination/i18n/nl_NL.po
+++ b/delivery_multi_destination/i18n/nl_NL.po
@@ -26,21 +26,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Vervoerder"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -85,11 +85,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Vervoerder"
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 8adfa9e77e..70bd1a563d 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -26,21 +26,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Transportador"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -85,11 +85,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Transportador"
diff --git a/delivery_multi_destination/i18n/sl.po b/delivery_multi_destination/i18n/sl.po
index ca0e274a50..3191620f87 100644
--- a/delivery_multi_destination/i18n/sl.po
+++ b/delivery_multi_destination/i18n/sl.po
@@ -26,21 +26,21 @@ msgstr ""
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Carrier"
-msgstr "Prevoznik"
+msgid "Delivery Methods"
+msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_destination_type
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_child_ids
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
 msgstr ""
 
@@ -85,11 +85,38 @@ msgid "One destination"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier_parent_id
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
 msgstr ""
 
+#. 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 "Unit(s)"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
 msgstr ""
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr ""
+
+#~ msgid "Carrier"
+#~ msgstr "Prevoznik"
diff --git a/delivery_multi_destination/models/__init__.py b/delivery_multi_destination/models/__init__.py
index 4060769124..f3bc012b95 100644
--- a/delivery_multi_destination/models/__init__.py
+++ b/delivery_multi_destination/models/__init__.py
@@ -1,3 +1,3 @@
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from . import delivery_carrier
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 8d5be6714c..fd30e9d9b6 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -1,6 +1,6 @@
 # Copyright 2016-2019 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from odoo import api, fields, models
 
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
index 91b865b511..5aec2b765a 100644
--- a/delivery_multi_destination/static/description/index.html
+++ b/delivery_multi_destination/static/description/index.html
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
 <title>Multiple destinations for the same delivery method</title>
 <style type="text/css">
 
@@ -367,7 +367,7 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 !! This file is generated by oca-gen-addon-readme !!
 !! changes will be overwritten.                   !!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/11.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-11-0/delivery-carrier-11-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/12.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-12-0/delivery-carrier-12-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
 <p>This module allows to set different price rules depending on the destination.</p>
 <p>This module restores the concept of delivery grid, reusing the same model for
 nesting several “children” delivery methods, one per possible destination.
@@ -419,7 +419,7 @@ <h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
 <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/delivery-carrier/issues">GitHub Issues</a>.
 In case of trouble, please check there if your issue has already been reported.
 If you spotted it first, help us smashing it by providing a detailed and welcomed
-<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
 <p>Do not contact contributors directly about support or help with technical issues.</p>
 </div>
 <div class="section" id="credits">
@@ -447,7 +447,7 @@ <h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
 <p>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.</p>
-<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/11.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/12.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
 <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
 </div>
 </div>
diff --git a/delivery_multi_destination/tests/__init__.py b/delivery_multi_destination/tests/__init__.py
index a34eb49ca0..68b4d7a118 100644
--- a/delivery_multi_destination/tests/__init__.py
+++ b/delivery_multi_destination/tests/__init__.py
@@ -1,3 +1,3 @@
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from . import test_delivery_multi_destination
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 6a51b0ad20..b46dbca074 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -1,6 +1,6 @@
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # Copyright 2019 Tecnativa - Pedro M. Baeza
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from odoo.tests import common
 
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index 3942b90b45..dbdbd06dc9 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- Copyright 2016-2017 Pedro M. Baeza <pedro.baeza@tecnativa.com>
      Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
-     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 
 <odoo>
 

From 18f6ed16080bdd6f3522a0a6bff6aef3acf1ca41 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Mon, 19 Aug 2019 19:30:12 +0200
Subject: [PATCH 06/23] [FIX] delivery_multi_destination: Fix singleton error

Incorrect use of variables
---
 delivery_multi_destination/__manifest__.py    |   2 +-
 delivery_multi_destination/i18n/de.po         |  25 ++--
 delivery_multi_destination/i18n/pt_BR.po      |  43 +++----
 delivery_multi_destination/i18n/zh_CN.po      | 116 ++++++++++++++++++
 .../models/delivery_carrier.py                |   4 +-
 5 files changed, 154 insertions(+), 36 deletions(-)
 create mode 100644 delivery_multi_destination/i18n/zh_CN.po

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 3e0a17f606..28436471c0 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -4,7 +4,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "12.0.1.0.0",
+    "version": "12.0.1.0.1",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, "
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
index 07b6797587..f9f741fe59 100644
--- a/delivery_multi_destination/i18n/de.po
+++ b/delivery_multi_destination/i18n/de.po
@@ -9,29 +9,30 @@ msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
-"PO-Revision-Date: 2017-12-15 18:21+0000\n"
-"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"PO-Revision-Date: 2019-10-11 10:36+0000\n"
+"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\n"
 "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.8\n"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
 msgid "Belgium"
-msgstr ""
+msgstr "Belgien"
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Delivery Methods"
-msgstr ""
+msgstr "Liefermethoden"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
-msgstr ""
+msgstr "Zieltyp"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
@@ -41,12 +42,12 @@ msgstr ""
 #. module: delivery_multi_destination
 #: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
-msgstr ""
+msgstr "Ziele"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
 msgid "France"
-msgstr ""
+msgstr "Frankreich"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi
@@ -76,12 +77,12 @@ msgstr ""
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
-msgstr ""
+msgstr "Mehrere Ziele"
 
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "One destination"
-msgstr ""
+msgstr "Ein Ziel"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
@@ -103,7 +104,7 @@ msgstr ""
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
-msgstr ""
+msgstr "Vereinigtes Königreich"
 
 #. module: delivery_multi_destination
 #: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
@@ -115,7 +116,7 @@ msgstr ""
 #: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
 #: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
 msgid "kg"
-msgstr ""
+msgstr "kg"
 
 #~ msgid "Carrier"
 #~ msgstr "Spediteur"
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 70bd1a563d..055ade156f 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -9,85 +9,86 @@ msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
-"PO-Revision-Date: 2017-12-15 18:21+0000\n"
-"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
-"teams/23907/pt_BR/)\n"
+"PO-Revision-Date: 2019-09-09 14:24+0000\n"
+"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
+"23907/pt_BR/)\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.8\n"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
 msgid "Belgium"
-msgstr ""
+msgstr "Bélgica"
 
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Delivery Methods"
-msgstr ""
+msgstr "Métodos de entrega"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
-msgstr ""
+msgstr "Tipo de destinatário"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
-msgstr ""
+msgstr "Rede de destinatário"
 
 #. module: delivery_multi_destination
 #: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
 msgid "Destinations"
-msgstr ""
+msgstr "Destinatários"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
 msgid "France"
-msgstr ""
+msgstr "França"
 
 #. 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 ""
+msgstr "Transportes Internacionais, S.A."
 
 #. 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
 msgid "International Carrier Inc., Belgium"
-msgstr ""
+msgstr "International Carrier Inc., Bélgica"
 
 #. 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
 msgid "International Carrier Inc., France"
-msgstr ""
+msgstr "International Carrier Inc., França"
 
 #. 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
 msgid "International Carrier Inc., United Kingdom"
-msgstr ""
+msgstr "International Carrier Inc., Reino Unido"
 
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
-msgstr ""
+msgstr "Múltiplos destinatários"
 
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "One destination"
-msgstr ""
+msgstr "Um destino"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
 msgid "Parent carrier"
-msgstr ""
+msgstr "Transportadora Matriz"
 
 #. module: delivery_multi_destination
 #: model:product.product,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
@@ -99,12 +100,12 @@ msgstr ""
 #: 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 "Unit(s)"
-msgstr ""
+msgstr "Unidade(s)"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
 msgid "United Kingdom"
-msgstr ""
+msgstr "Reino Unido"
 
 #. module: delivery_multi_destination
 #: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
@@ -116,7 +117,7 @@ msgstr ""
 #: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
 #: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
 msgid "kg"
-msgstr ""
+msgstr "kg"
 
 #~ msgid "Carrier"
 #~ msgstr "Transportador"
diff --git a/delivery_multi_destination/i18n/zh_CN.po b/delivery_multi_destination/i18n/zh_CN.po
new file mode 100644
index 0000000000..c619847dbe
--- /dev/null
+++ b/delivery_multi_destination/i18n/zh_CN.po
@@ -0,0 +1,116 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#	* delivery_multi_destination
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2019-09-07 11:23+0000\n"
+"Last-Translator: 黎伟杰 <674416404@qq.com>\n"
+"Language-Team: none\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 3.8\n"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
+msgid "Belgium"
+msgstr "比利时"
+
+#. module: delivery_multi_destination
+#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
+msgid "Delivery Methods"
+msgstr "交货方式"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
+msgid "Destination Type"
+msgstr "目的地类型"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
+msgid "Destination grid"
+msgstr "目标网格"
+
+#. module: delivery_multi_destination
+#: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
+msgid "Destinations"
+msgstr "目的地"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
+msgid "France"
+msgstr "法国"
+
+#. 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 "国际航空公司。"
+
+#. 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
+msgid "International Carrier Inc., Belgium"
+msgstr "比利时国际航空公司"
+
+#. 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
+msgid "International Carrier Inc., France"
+msgstr "法国国际航空公司"
+
+#. 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
+msgid "International Carrier Inc., United Kingdom"
+msgstr "英国国际航空公司"
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "Multiple destinations"
+msgstr "多个目的地"
+
+#. module: delivery_multi_destination
+#: selection:delivery.carrier,destination_type:0
+msgid "One destination"
+msgstr "一个目的地"
+
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__parent_id
+msgid "Parent carrier"
+msgstr "父承运商"
+
+#. 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 "Unit(s)"
+msgstr "件"
+
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+msgid "United Kingdom"
+msgstr "英国"
+
+#. module: delivery_multi_destination
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
+#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
+#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
+msgid "kg"
+msgstr "千克"
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index fd30e9d9b6..1d295ebc0e 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -50,10 +50,10 @@ def available_carriers(self, partner):
         """
         candidates = self.env['delivery.carrier']
         for carrier in self:
-            if self.destination_type == 'one':
+            if carrier.destination_type == 'one':
                 candidates |= carrier
             else:
-                carrier = self.with_context(show_children_carriers=True)
+                carrier = carrier.with_context(show_children_carriers=True)
                 candidates |= carrier.child_ids
         return super(DeliveryCarrier, candidates).available_carriers(partner)
 

From f89f07a5f75bf6235fbb505ca52dc10c19a051c3 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Thu, 20 Feb 2020 23:20:48 +0100
Subject: [PATCH 07/23] [IMP] delivery_multi_destination: Improve view for
 hiding undesired elements

On a multi-destination carrier, that fields shouldn't be shown
---
 .../views/delivery_carrier_view.xml           | 27 +++++++++++++++----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index dbdbd06dc9..45af3209d7 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2016-2017 Pedro M. Baeza <pedro.baeza@tecnativa.com>
+<!-- Copyright 2016-2020 Tecnativa - Pedro M. Baeza
      Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 
@@ -9,10 +9,27 @@
         <field name="model">delivery.carrier</field>
         <field name="inherit_id" ref="delivery.view_delivery_carrier_form"/>
         <field name="arch" type="xml">
-            <field name="delivery_type" position="before">
-                <field name="destination_type"
-                       invisible="context.get('show_children_fields', False)"
-                />
+            <xpath expr="//field[@name='delivery_type']/../../.." position="before">
+                <group name="group_destination_type">
+                    <field name="destination_type"
+                        invisible="context.get('show_children_fields', False)"
+                    />
+                </group>
+            </xpath>
+            <xpath expr="//field[@name='delivery_type']/../.." position="attributes">
+                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            </xpath>
+            <label for="margin" position="attributes">
+                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            </label>
+            <xpath expr="//field[@name='margin']/.." position="attributes">
+                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            </xpath>
+            <xpath expr="//field[@name='free_over']/.." position="attributes">
+                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            </xpath>
+            <field name="amount" position="attributes">
+                <attribute name="attrs">{'required':[('free_over','!=', False)], 'invisible':['|', ('free_over','=', False), ('destination_type', '=', 'multi')]}</attribute>
             </field>
             <xpath expr="//field[@name='fixed_price']/ancestor::page"
                    position="attributes">

From d8ec3a42baeb4afaf98dfbec44875e8e45b6f36d Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Thu, 20 Feb 2020 23:40:43 +0100
Subject: [PATCH 08/23] [FIX] delivery_multi_destination: available carriers
 must return the main one

When testing available carriers, we must return the main one if one of the
children matches, not returning the children itself.
---
 .../models/delivery_carrier.py                   | 16 ++++++++--------
 .../tests/test_delivery_multi_destination.py     |  6 ++----
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 1d295ebc0e..bf6a9f438c 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2019 Tecnativa - Pedro M. Baeza
+# Copyright 2016-2020 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
@@ -45,17 +45,17 @@ def name_search(self, name='', args=None, operator='ilike', limit=100):
         )
 
     def available_carriers(self, partner):
-        """Add childrens on the possible list to select carriers. This is
-        used on `website_sale_delivery` module.
-        """
-        candidates = self.env['delivery.carrier']
+        """If the carrier is multi, we test the availability on children."""
+        available = self.env['delivery.carrier']
         for carrier in self:
             if carrier.destination_type == 'one':
-                candidates |= carrier
+                candidates = carrier
             else:
                 carrier = carrier.with_context(show_children_carriers=True)
-                candidates |= carrier.child_ids
-        return super(DeliveryCarrier, candidates).available_carriers(partner)
+                candidates = carrier.child_ids
+            if super(DeliveryCarrier, candidates).available_carriers(partner):
+                available |= carrier
+        return available
 
     def rate_shipment(self, order):
         """We have to override this method for getting the proper price
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index b46dbca074..9410aba161 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -1,5 +1,5 @@
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
-# Copyright 2019 Tecnativa - Pedro M. Baeza
+# Copyright 2019-2020 Tecnativa - Pedro M. Baeza
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from odoo.tests import common
@@ -132,7 +132,5 @@ def test_name_search(self):
     def test_available_carriers(self):
         self.assertEqual(
             self.carrier_multi.available_carriers(self.partner_2),
-            self.carrier_multi.with_context(
-                show_children_carriers=True,
-            ).child_ids[0],
+            self.carrier_multi,
         )

From 8ca37250dbdded474d04b725185457f64b3a1a9b Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Fri, 21 Feb 2020 19:51:28 +0100
Subject: [PATCH 09/23] [FIX] delivery_multi_destination: Make delivery
 shipping properly with 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.
---
 delivery_multi_destination/__manifest__.py    |  2 +-
 delivery_multi_destination/i18n/cs_CZ.po      |  6 ++++
 delivery_multi_destination/i18n/de.po         |  6 ++++
 .../i18n/delivery_multi_destination.pot       |  6 ++++
 delivery_multi_destination/i18n/es.po         |  6 ++++
 delivery_multi_destination/i18n/fr.po         |  6 ++++
 delivery_multi_destination/i18n/it.po         |  6 ++++
 delivery_multi_destination/i18n/nl.po         |  6 ++++
 delivery_multi_destination/i18n/nl_NL.po      |  6 ++++
 delivery_multi_destination/i18n/pt_BR.po      | 10 ++++--
 delivery_multi_destination/i18n/sl.po         | 17 ++++++---
 delivery_multi_destination/i18n/zh_CN.po      |  8 ++++-
 .../models/delivery_carrier.py                | 35 ++++++++++++++++++-
 .../tests/test_delivery_multi_destination.py  | 21 +++++++++++
 14 files changed, 131 insertions(+), 10 deletions(-)

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 28436471c0..2a3f7517a0 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -4,7 +4,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "12.0.1.0.1",
+    "version": "12.0.1.1.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, "
diff --git a/delivery_multi_destination/i18n/cs_CZ.po b/delivery_multi_destination/i18n/cs_CZ.po
index c225801590..12b3040ee4 100644
--- a/delivery_multi_destination/i18n/cs_CZ.po
+++ b/delivery_multi_destination/i18n/cs_CZ.po
@@ -93,6 +93,12 @@ msgstr "Jeden cíl"
 msgid "Parent carrier"
 msgstr "Nadřazený dopravce"
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
index f9f741fe59..6f82ccf817 100644
--- a/delivery_multi_destination/i18n/de.po
+++ b/delivery_multi_destination/i18n/de.po
@@ -89,6 +89,12 @@ msgstr "Ein Ziel"
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index 6fc3c6d320..ce1f1286fa 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -83,6 +83,12 @@ msgstr ""
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index a7474b8da9..9ee098ed31 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -93,6 +93,12 @@ msgstr "Un destino"
 msgid "Parent carrier"
 msgstr "Transportista matriz"
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/fr.po b/delivery_multi_destination/i18n/fr.po
index 7017d6e3e2..4ec2f3746a 100644
--- a/delivery_multi_destination/i18n/fr.po
+++ b/delivery_multi_destination/i18n/fr.po
@@ -88,6 +88,12 @@ msgstr ""
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/it.po b/delivery_multi_destination/i18n/it.po
index 4e28623f1a..4a425bbfa6 100644
--- a/delivery_multi_destination/i18n/it.po
+++ b/delivery_multi_destination/i18n/it.po
@@ -88,6 +88,12 @@ msgstr ""
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/nl.po b/delivery_multi_destination/i18n/nl.po
index e01b628370..7dfa86bddb 100644
--- a/delivery_multi_destination/i18n/nl.po
+++ b/delivery_multi_destination/i18n/nl.po
@@ -88,6 +88,12 @@ msgstr ""
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/nl_NL.po b/delivery_multi_destination/i18n/nl_NL.po
index c61c876466..7f88689789 100644
--- a/delivery_multi_destination/i18n/nl_NL.po
+++ b/delivery_multi_destination/i18n/nl_NL.po
@@ -89,6 +89,12 @@ msgstr ""
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 055ade156f..96d7d4f000 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -11,8 +11,8 @@ msgstr ""
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
 "PO-Revision-Date: 2019-09-09 14:24+0000\n"
 "Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
-"23907/pt_BR/)\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
+"teams/23907/pt_BR/)\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -90,6 +90,12 @@ msgstr "Um destino"
 msgid "Parent carrier"
 msgstr "Transportadora Matriz"
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/sl.po b/delivery_multi_destination/i18n/sl.po
index 3191620f87..0e46a4ad17 100644
--- a/delivery_multi_destination/i18n/sl.po
+++ b/delivery_multi_destination/i18n/sl.po
@@ -9,15 +9,16 @@ msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
-"PO-Revision-Date: 2017-12-15 18:21+0000\n"
-"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
+"PO-Revision-Date: 2020-08-11 10:59+0000\n"
+"Last-Translator: Matjaz Mozetic <matjaz@matmoz.si>\n"
 "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
 "Language: sl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
-"%100==4 ? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
+"n%100==4 ? 2 : 3;\n"
+"X-Generator: Weblate 3.10\n"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
@@ -27,7 +28,7 @@ msgstr ""
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Delivery Methods"
-msgstr ""
+msgstr "Načini dostave"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
@@ -89,6 +90,12 @@ msgstr ""
 msgid "Parent carrier"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/i18n/zh_CN.po b/delivery_multi_destination/i18n/zh_CN.po
index c619847dbe..d0ee844488 100644
--- a/delivery_multi_destination/i18n/zh_CN.po
+++ b/delivery_multi_destination/i18n/zh_CN.po
@@ -1,6 +1,6 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
-#	* delivery_multi_destination
+# 	* delivery_multi_destination
 #
 msgid ""
 msgstr ""
@@ -86,6 +86,12 @@ msgstr "一个目的地"
 msgid "Parent carrier"
 msgstr "父承运商"
 
+#. module: delivery_multi_destination
+#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#, python-format
+msgid "There is no matching delivery rule."
+msgstr ""
+
 #. 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
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index bf6a9f438c..e497c3ed86 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -2,7 +2,8 @@
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
-from odoo import api, fields, models
+from odoo import _, api, fields, models
+from odoo.exceptions import ValidationError
 
 
 class DeliveryCarrier(models.Model):
@@ -70,3 +71,35 @@ def rate_shipment(self, order):
                     return super(
                         DeliveryCarrier, subcarrier,
                     ).rate_shipment(order)
+
+    def send_shipping(self, pickings):
+        """We have to override this method for redirecting the result to the
+        proper "child" carrier.
+        """
+        if self.destination_type == 'one':
+            return super().send_shipping(pickings)
+        else:
+            carrier = self.with_context(show_children_carriers=True)
+            res = []
+            for p in pickings:
+                picking_res = False
+                for subcarrier in carrier.child_ids:
+                    if subcarrier.delivery_type == 'fixed':
+                        if subcarrier._match_address(p.partner_id):
+                            picking_res = [{
+                                'exact_price': subcarrier.fixed_price,
+                                'tracking_number': False}]
+                            break
+                    else:
+                        try:
+                            picking_res = super(
+                                DeliveryCarrier, subcarrier,
+                            ).send_shipping(pickings)
+                            break
+                        except Exception:
+                            pass
+                if not picking_res:
+                    raise ValidationError(
+                        _('There is no matching delivery rule.'))
+                res += picking_res
+            return res
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 9410aba161..ed67973dc1 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -86,10 +86,20 @@ def setUpClass(cls):
         })
         cls.product = cls.env['product.product'].create({
             'name': 'Test product',
+            'type': 'product',
+        })
+        cls.pricelist = cls.env['product.pricelist'].create({
+            'name': 'Test pricelist',
+            'item_ids': [(0, 0, {
+                'applied_on': '3_global',
+                'compute_price': 'formula',
+                'base': 'list_price',
+            })]
         })
         cls.sale_order = cls.env['sale.order'].create({
             'partner_id': cls.partner_1.id,
             'picking_policy': 'direct',
+            'pricelist_id': cls.pricelist.id,
             'order_line': [
                 (0, 0, {
                     'name': 'Test',
@@ -134,3 +144,14 @@ def test_available_carriers(self):
             self.carrier_multi.available_carriers(self.partner_2),
             self.carrier_multi,
         )
+
+    def test_picking_validation(self):
+        """Test a complete sales flow with picking."""
+        self.sale_order.carrier_id = self.carrier_multi.id
+        self.sale_order.partner_shipping_id = self.partner_2.id
+        self.sale_order.action_confirm()
+        picking = self.sale_order.picking_ids
+        self.assertEqual(picking.carrier_id, self.carrier_multi)
+        picking.move_lines.quantity_done = 1
+        picking.action_done()
+        self.assertAlmostEqual(picking.carrier_price, 50)

From c3e2e0048767a0a326c61652ead0c28547be06e6 Mon Sep 17 00:00:00 2001
From: Carlos Roca <carlos.roca@tecnativa.com>
Date: Tue, 26 Jan 2021 14:22:14 +0100
Subject: [PATCH 10/23] [IMP] delivery_multi_destination: black, isort,
 prettier

---
 delivery_multi_destination/__manifest__.py    |  15 +-
 .../demo/delivery_carrier_demo.xml            |  52 ++--
 .../models/delivery_carrier.py                |  47 ++--
 .../tests/test_delivery_multi_destination.py  | 230 ++++++++++--------
 .../views/delivery_carrier_view.xml           |  86 ++++---
 5 files changed, 222 insertions(+), 208 deletions(-)

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 2a3f7517a0..34b3b58025 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -7,17 +7,10 @@
     "version": "12.0.1.1.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
-    "author": "Tecnativa, "
-              "Odoo Community Association (OCA)",
+    "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",
-    ],
+    "depends": ["delivery",],
+    "demo": ["demo/delivery_carrier_demo.xml",],
+    "data": ["views/delivery_carrier_view.xml",],
 }
diff --git a/delivery_multi_destination/demo/delivery_carrier_demo.xml b/delivery_multi_destination/demo/delivery_carrier_demo.xml
index c266ae0485..10567f5538 100644
--- a/delivery_multi_destination/demo/delivery_carrier_demo.xml
+++ b/delivery_multi_destination/demo/delivery_carrier_demo.xml
@@ -1,84 +1,72 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?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="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"/>
+        <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="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="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"/>
+        <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"/>
+        <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="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"/>
+        <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="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"/>
+        <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="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="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"/>
+        <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="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="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"/>
+        <field name="country_ids" eval="[(4, ref('base.uk'))]" />
+        <field name="product_id" ref="product_product_delivery_carrier_multi_child_3" />
     </record>
-
 </odoo>
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index e497c3ed86..4807c9418d 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -10,46 +10,45 @@ class DeliveryCarrier(models.Model):
     _inherit = "delivery.carrier"
 
     child_ids = fields.One2many(
-        comodel_name="delivery.carrier", inverse_name="parent_id",
+        comodel_name="delivery.carrier",
+        inverse_name="parent_id",
         string="Destination grid",
     )
     parent_id = fields.Many2one(
         comodel_name="delivery.carrier", string="Parent carrier",
     )
     destination_type = fields.Selection(
-        selection=[
-            ('one', 'One destination'),
-            ('multi', 'Multiple destinations'),
-        ],
-        default="one", required=True,
+        selection=[("one", "One destination"), ("multi", "Multiple destinations"),],
+        default="one",
+        required=True,
     )
 
     def search(self, args, offset=0, limit=None, order=None, count=False):
         """Don't show by default children carriers."""
-        if not self.env.context.get('show_children_carriers'):
+        if not self.env.context.get("show_children_carriers"):
             if args is None:
                 args = []
-            args += [('parent_id', '=', False)]
+            args += [("parent_id", "=", False)]
         return super(DeliveryCarrier, self).search(
             args, offset=offset, limit=limit, order=order, count=count,
         )
 
     @api.model
-    def name_search(self, name='', args=None, operator='ilike', limit=100):
+    def name_search(self, name="", args=None, operator="ilike", limit=100):
         """Don't show by default children carriers."""
-        if not self.env.context.get('show_children_carriers'):
+        if not self.env.context.get("show_children_carriers"):
             if args is None:
                 args = []
-            args += [('parent_id', '=', False)]
+            args += [("parent_id", "=", False)]
         return super(DeliveryCarrier, self)._name_search(
             name=name, args=args, operator=operator, limit=limit,
         )
 
     def available_carriers(self, partner):
         """If the carrier is multi, we test the availability on children."""
-        available = self.env['delivery.carrier']
+        available = self.env["delivery.carrier"]
         for carrier in self:
-            if carrier.destination_type == 'one':
+            if carrier.destination_type == "one":
                 candidates = carrier
             else:
                 carrier = carrier.with_context(show_children_carriers=True)
@@ -62,21 +61,19 @@ def rate_shipment(self, order):
         """We have to override this method for getting the proper price
         according destination on sales orders.
         """
-        if self.destination_type == 'one':
+        if self.destination_type == "one":
             return super().rate_shipment(order)
         else:
             carrier = self.with_context(show_children_carriers=True)
             for subcarrier in carrier.child_ids:
                 if subcarrier._match_address(order.partner_shipping_id):
-                    return super(
-                        DeliveryCarrier, subcarrier,
-                    ).rate_shipment(order)
+                    return super(DeliveryCarrier, subcarrier,).rate_shipment(order)
 
     def send_shipping(self, pickings):
         """We have to override this method for redirecting the result to the
         proper "child" carrier.
         """
-        if self.destination_type == 'one':
+        if self.destination_type == "one":
             return super().send_shipping(pickings)
         else:
             carrier = self.with_context(show_children_carriers=True)
@@ -84,11 +81,14 @@ def send_shipping(self, pickings):
             for p in pickings:
                 picking_res = False
                 for subcarrier in carrier.child_ids:
-                    if subcarrier.delivery_type == 'fixed':
+                    if subcarrier.delivery_type == "fixed":
                         if subcarrier._match_address(p.partner_id):
-                            picking_res = [{
-                                'exact_price': subcarrier.fixed_price,
-                                'tracking_number': False}]
+                            picking_res = [
+                                {
+                                    "exact_price": subcarrier.fixed_price,
+                                    "tracking_number": False,
+                                }
+                            ]
                             break
                     else:
                         try:
@@ -99,7 +99,6 @@ def send_shipping(self, pickings):
                         except Exception:
                             pass
                 if not picking_res:
-                    raise ValidationError(
-                        _('There is no matching delivery rule.'))
+                    raise ValidationError(_("There is no matching delivery rule."))
                 res += picking_res
             return res
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index ed67973dc1..b5d7458995 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -9,106 +9,125 @@ class TestDeliveryMultiDestination(common.SavepointCase):
     @classmethod
     def setUpClass(cls):
         super(TestDeliveryMultiDestination, cls).setUpClass()
-        cls.country_1 = cls.env['res.country'].create({
-            'name': 'Test country 1',
-        })
-        cls.partner_1 = cls.env['res.partner'].create({
-            'name': 'Test partner 1',
-            'country_id': cls.country_1.id,
-        })
-        cls.country_2 = cls.env['res.country'].create({
-            'name': 'Test country 2',
-        })
-        cls.state = cls.env['res.country.state'].create({
-            'name': 'Test state',
-            'code': 'TS',
-            'country_id': cls.country_2.id,
-        })
-        cls.partner_2 = cls.env['res.partner'].create({
-            'name': 'Test partner 2',
-            'country_id': cls.country_2.id,
-            'state_id': cls.state.id,
-            'zip': '22222'
-        })
-        cls.partner_3 = cls.env['res.partner'].create({
-            'name': 'Test partner 3',
-            'country_id': cls.country_2.id,
-            'state_id': cls.state.id,
-            'zip': '33333'
-        })
-        cls.product = cls.env['product.product'].create({
-            'name': 'Test carrier multi',
-            'type': 'service',
-        })
-        cls.product_child_1 = cls.env['product.product'].create({
-            'name': 'Test child 1',
-            'type': 'service',
-        })
-        cls.product_child_2 = cls.env['product.product'].create({
-            'name': 'Test child 2',
-            'type': 'service',
-        })
-        cls.carrier_multi = cls.env['delivery.carrier'].create({
-            'name': 'Test carrier multi',
-            'product_id': cls.product.id,
-            'destination_type': 'multi',
-            'delivery_type': 'fixed',
-            'fixed_price': 100,
-            'child_ids': [
-                (0, 0, {
-                    'name': 'Test child 1',
-                    'product_id': cls.product_child_1.id,
-                    'sequence': 1,
-                    'country_ids': [(6, 0, cls.country_2.ids)],
-                    'state_ids': [(6, 0, cls.state.ids)],
-                    'zip_from': 20000,
-                    'zip_to': 29999,
-                    'delivery_type': 'fixed',
-                    'fixed_price': 50,
-                }),
-                (0, 0, {
-                    'name': 'Test child 2',
-                    'product_id': cls.product_child_2.id,
-                    'sequence': 2,
-                    'country_ids': [(6, 0, cls.country_2.ids)],
-                    'state_ids': [(6, 0, cls.state.ids)],
-                    'zip_from': 30000,
-                    'zip_to': 39999,
-                    'delivery_type': 'fixed',
-                    'fixed_price': 150,
-                })
-            ]
-        })
-        cls.carrier_single = cls.carrier_multi.copy({
-            'name': 'Test carrier single',
-            'destination_type': 'one',
-            'child_ids': False,
-        })
-        cls.product = cls.env['product.product'].create({
-            'name': 'Test product',
-            'type': 'product',
-        })
-        cls.pricelist = cls.env['product.pricelist'].create({
-            'name': 'Test pricelist',
-            'item_ids': [(0, 0, {
-                'applied_on': '3_global',
-                'compute_price': 'formula',
-                'base': 'list_price',
-            })]
-        })
-        cls.sale_order = cls.env['sale.order'].create({
-            'partner_id': cls.partner_1.id,
-            'picking_policy': 'direct',
-            'pricelist_id': cls.pricelist.id,
-            'order_line': [
-                (0, 0, {
-                    'name': 'Test',
-                    'product_id': cls.product.id,
-                    'product_uom_qty': 1,
-                    'price_unit': 1,
-                }),
-            ]
-        })
+        cls.country_1 = cls.env["res.country"].create({"name": "Test country 1",})
+        cls.partner_1 = cls.env["res.partner"].create(
+            {"name": "Test partner 1", "country_id": cls.country_1.id,}
+        )
+        cls.country_2 = cls.env["res.country"].create({"name": "Test country 2",})
+        cls.state = cls.env["res.country.state"].create(
+            {"name": "Test state", "code": "TS", "country_id": cls.country_2.id,}
+        )
+        cls.partner_2 = cls.env["res.partner"].create(
+            {
+                "name": "Test partner 2",
+                "country_id": cls.country_2.id,
+                "state_id": cls.state.id,
+                "zip": "22222",
+            }
+        )
+        cls.partner_3 = cls.env["res.partner"].create(
+            {
+                "name": "Test partner 3",
+                "country_id": cls.country_2.id,
+                "state_id": cls.state.id,
+                "zip": "33333",
+            }
+        )
+        cls.product = cls.env["product.product"].create(
+            {"name": "Test carrier multi", "type": "service",}
+        )
+        cls.product_child_1 = cls.env["product.product"].create(
+            {"name": "Test child 1", "type": "service",}
+        )
+        cls.product_child_2 = cls.env["product.product"].create(
+            {"name": "Test child 2", "type": "service",}
+        )
+        cls.carrier_multi = cls.env["delivery.carrier"].create(
+            {
+                "name": "Test carrier multi",
+                "product_id": cls.product.id,
+                "destination_type": "multi",
+                "delivery_type": "fixed",
+                "fixed_price": 100,
+                "child_ids": [
+                    (
+                        0,
+                        0,
+                        {
+                            "name": "Test child 1",
+                            "product_id": cls.product_child_1.id,
+                            "sequence": 1,
+                            "country_ids": [(6, 0, cls.country_2.ids)],
+                            "state_ids": [(6, 0, cls.state.ids)],
+                            "zip_from": 20000,
+                            "zip_to": 29999,
+                            "delivery_type": "fixed",
+                            "fixed_price": 50,
+                        },
+                    ),
+                    (
+                        0,
+                        0,
+                        {
+                            "name": "Test child 2",
+                            "product_id": cls.product_child_2.id,
+                            "sequence": 2,
+                            "country_ids": [(6, 0, cls.country_2.ids)],
+                            "state_ids": [(6, 0, cls.state.ids)],
+                            "zip_from": 30000,
+                            "zip_to": 39999,
+                            "delivery_type": "fixed",
+                            "fixed_price": 150,
+                        },
+                    ),
+                ],
+            }
+        )
+        cls.carrier_single = cls.carrier_multi.copy(
+            {
+                "name": "Test carrier single",
+                "destination_type": "one",
+                "child_ids": False,
+            }
+        )
+        cls.product = cls.env["product.product"].create(
+            {"name": "Test product", "type": "product",}
+        )
+        cls.pricelist = cls.env["product.pricelist"].create(
+            {
+                "name": "Test pricelist",
+                "item_ids": [
+                    (
+                        0,
+                        0,
+                        {
+                            "applied_on": "3_global",
+                            "compute_price": "formula",
+                            "base": "list_price",
+                        },
+                    )
+                ],
+            }
+        )
+        cls.sale_order = cls.env["sale.order"].create(
+            {
+                "partner_id": cls.partner_1.id,
+                "picking_policy": "direct",
+                "pricelist_id": cls.pricelist.id,
+                "order_line": [
+                    (
+                        0,
+                        0,
+                        {
+                            "name": "Test",
+                            "product_id": cls.product.id,
+                            "product_uom_qty": 1,
+                            "price_unit": 1,
+                        },
+                    ),
+                ],
+            }
+        )
 
     def test_delivery_multi_destination(self):
         order = self.sale_order
@@ -124,25 +143,22 @@ def test_delivery_multi_destination(self):
         self.assertAlmostEqual(order.delivery_price, 150, 2)
 
     def test_search(self):
-        carriers = self.env['delivery.carrier'].search([])
+        carriers = self.env["delivery.carrier"].search([])
         children_carrier = self.carrier_multi.with_context(
             show_children_carriers=True,
         ).child_ids[0]
         self.assertNotIn(children_carrier, carriers)
 
     def test_name_search(self):
-        carrier_names = self.env['delivery.carrier'].name_search()
+        carrier_names = self.env["delivery.carrier"].name_search()
         children_carrier = self.carrier_multi.with_context(
             show_children_carriers=True,
         ).child_ids[0]
-        self.assertTrue(
-            all(x[0] != children_carrier.id for x in carrier_names)
-        )
+        self.assertTrue(all(x[0] != children_carrier.id for x in carrier_names))
 
     def test_available_carriers(self):
         self.assertEqual(
-            self.carrier_multi.available_carriers(self.partner_2),
-            self.carrier_multi,
+            self.carrier_multi.available_carriers(self.partner_2), self.carrier_multi,
         )
 
     def test_picking_validation(self):
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index 45af3209d7..d3d0fbeb46 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -1,81 +1,99 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <!-- Copyright 2016-2020 Tecnativa - Pedro M. Baeza
      Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
-
 <odoo>
-
     <record id="view_delivery_carrier_form" model="ir.ui.view">
         <field name="model">delivery.carrier</field>
-        <field name="inherit_id" ref="delivery.view_delivery_carrier_form"/>
+        <field name="inherit_id" ref="delivery.view_delivery_carrier_form" />
         <field name="arch" type="xml">
             <xpath expr="//field[@name='delivery_type']/../../.." position="before">
                 <group name="group_destination_type">
-                    <field name="destination_type"
+                    <field
+                        name="destination_type"
                         invisible="context.get('show_children_fields', False)"
                     />
                 </group>
             </xpath>
             <xpath expr="//field[@name='delivery_type']/../.." position="attributes">
-                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
             <label for="margin" position="attributes">
-                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </label>
             <xpath expr="//field[@name='margin']/.." position="attributes">
-                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
             <xpath expr="//field[@name='free_over']/.." position="attributes">
-                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
             <field name="amount" position="attributes">
-                <attribute name="attrs">{'required':[('free_over','!=', False)], 'invisible':['|', ('free_over','=', False), ('destination_type', '=', 'multi')]}</attribute>
+                <attribute
+                    name="attrs"
+                >{'required':[('free_over','!=', False)], 'invisible':['|', ('free_over','=', False), ('destination_type', '=', 'multi')]}</attribute>
             </field>
-            <xpath expr="//field[@name='fixed_price']/ancestor::page"
-                   position="attributes">
-                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            <xpath
+                expr="//field[@name='fixed_price']/ancestor::page"
+                position="attributes"
+            >
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
-            <xpath expr="//field[@name='country_ids']/ancestor::page" position="attributes">
-                <attribute name="attrs">{'invisible': [('destination_type', '=', 'multi')]}</attribute>
+            <xpath
+                expr="//field[@name='country_ids']/ancestor::page"
+                position="attributes"
+            >
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
             </xpath>
             <notebook position="inside">
-                <page string="Destinations"
-                      name="page_multi_destination"
-                      attrs="{'invisible': [('destination_type', '!=', 'multi')]}"
+                <page
+                    string="Destinations"
+                    name="page_multi_destination"
+                    attrs="{'invisible': [('destination_type', '!=', 'multi')]}"
                 >
-                    <field name="child_ids"
-                           context="{'show_children_fields': True}"
-                    />
+                    <field name="child_ids" context="{'show_children_fields': True}" />
                 </page>
             </notebook>
         </field>
     </record>
-
     <record id="view_delivery_carrier_tree" model="ir.ui.view">
         <field name="model">delivery.carrier</field>
-        <field name="inherit_id" ref="delivery.view_delivery_carrier_tree"/>
+        <field name="inherit_id" ref="delivery.view_delivery_carrier_tree" />
         <field name="arch" type="xml">
             <field name="delivery_type" position="after">
-                <field name="destination_type"/>
-                <field name="country_ids"
-                       invisible="not context.get('show_children_fields', False)"
+                <field name="destination_type" />
+                <field
+                    name="country_ids"
+                    invisible="not context.get('show_children_fields', False)"
                 />
-                <field name="state_ids"
-                       invisible="not context.get('show_children_fields', False)"
+                <field
+                    name="state_ids"
+                    invisible="not context.get('show_children_fields', False)"
                 />
-                <field name="zip_from"
-                       invisible="not context.get('show_children_fields', False)"
+                <field
+                    name="zip_from"
+                    invisible="not context.get('show_children_fields', False)"
                 />
-                <field name="zip_to"
-                       invisible="not context.get('show_children_fields', False)"
+                <field
+                    name="zip_to"
+                    invisible="not context.get('show_children_fields', False)"
                 />
             </field>
         </field>
     </record>
-
     <record id="delivery.action_delivery_carrier_form" model="ir.actions.act_window">
         <field name="domain">[('parent_id', '=', False)]</field>
         <field name="context">{'show_children_carriers': True}</field>
     </record>
-
 </odoo>

From c8135ba22539713f3f980bea012ceaf1d53aa669 Mon Sep 17 00:00:00 2001
From: Carlos Roca <carlos.roca@tecnativa.com>
Date: Tue, 26 Jan 2021 14:24:04 +0100
Subject: [PATCH 11/23] [MIG] delivery_multi_destination: Migration to v13.0

[UPD] Update delivery_multi_destination.pot

[UPD] README.rst
---
 delivery_multi_destination/README.rst         | 17 ++---
 delivery_multi_destination/__manifest__.py    |  8 +--
 .../i18n/delivery_multi_destination.pot       | 47 +++++---------
 .../models/delivery_carrier.py                |  2 +-
 .../readme/CONFIGURE.rst                      |  2 +-
 .../readme/CONTRIBUTORS.rst                   |  5 +-
 .../static/description/index.html             | 13 ++--
 .../tests/test_delivery_multi_destination.py  | 62 ++++++++++++++-----
 8 files changed, 89 insertions(+), 67 deletions(-)

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index 477e57deca..fb87f08a82 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -14,13 +14,13 @@ Multiple destinations for the same delivery method
     :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/12.0/delivery_multi_destination
+    :target: https://github.com/OCA/delivery-carrier/tree/13.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-12-0/delivery-carrier-12-0-delivery_multi_destination
+    :target: https://translation.odoo-community.org/projects/delivery-carrier-13-0/delivery-carrier-13-0-delivery_multi_destination
     :alt: Translate me on Weblate
 .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
-    :target: https://runbot.odoo-community.org/runbot/99/12.0
+    :target: https://runbot.odoo-community.org/runbot/99/13.0
     :alt: Try me on Runbot
 
 |badge1| |badge2| |badge3| |badge4| |badge5| 
@@ -42,7 +42,7 @@ Configuration
 
 To configure delivery methods with multiple destinations:
 
-#. Go to Inventory > Configuration > Delivery > Delivery Methods
+#. 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"
@@ -67,7 +67,7 @@ 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 smashing it by providing a detailed and welcomed
-`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2013.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.
 
@@ -84,8 +84,9 @@ Contributors
 
 * `Tecnativa <https://www.tecnativa.com>__`:
 
-  * Pedro M. Baeza <pedro.baeza@tecnativa.com>
-  * Luis M. Ontalba <luis.martinez@tecnativa.com>
+  * Pedro M. Baeza
+  * Luis M. Ontalba
+  * Carlos Roca
 
 Maintainers
 ~~~~~~~~~~~
@@ -100,6 +101,6 @@ 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/12.0/delivery_multi_destination>`_ project on GitHub.
+This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/13.0/delivery_multi_destination>`_ project on GitHub.
 
 You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 34b3b58025..69c8777595 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -4,13 +4,13 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "12.0.1.1.0",
+    "version": "13.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",],
+    "depends": ["delivery"],
+    "demo": ["demo/delivery_carrier_demo.xml"],
+    "data": ["views/delivery_carrier_view.xml"],
 }
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index ce1f1286fa..fd910c9a84 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -1,12 +1,12 @@
 # Translation of Odoo Server.
 # This file contains the translation of the following modules:
-#	* delivery_multi_destination
+# 	* delivery_multi_destination
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server 13.0\n"
 "Report-Msgid-Bugs-To: \n"
-"Last-Translator: <>\n"
+"Last-Translator: \n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,11 +18,6 @@ msgstr ""
 msgid "Belgium"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -69,12 +64,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr ""
 
@@ -84,11 +79,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 ""
+
 #. 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
@@ -98,23 +103,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 4807c9418d..6759d887f4 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -18,7 +18,7 @@ class DeliveryCarrier(models.Model):
         comodel_name="delivery.carrier", string="Parent carrier",
     )
     destination_type = fields.Selection(
-        selection=[("one", "One destination"), ("multi", "Multiple destinations"),],
+        selection=[("one", "One destination"), ("multi", "Multiple destinations")],
         default="one",
         required=True,
     )
diff --git a/delivery_multi_destination/readme/CONFIGURE.rst b/delivery_multi_destination/readme/CONFIGURE.rst
index 4621c12bb1..42d71e2a02 100644
--- a/delivery_multi_destination/readme/CONFIGURE.rst
+++ b/delivery_multi_destination/readme/CONFIGURE.rst
@@ -1,6 +1,6 @@
 To configure delivery methods with multiple destinations:
 
-#. Go to Inventory > Configuration > Delivery > Delivery Methods
+#. 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"
diff --git a/delivery_multi_destination/readme/CONTRIBUTORS.rst b/delivery_multi_destination/readme/CONTRIBUTORS.rst
index 502fca703b..cac0fd55e8 100644
--- a/delivery_multi_destination/readme/CONTRIBUTORS.rst
+++ b/delivery_multi_destination/readme/CONTRIBUTORS.rst
@@ -1,4 +1,5 @@
 * `Tecnativa <https://www.tecnativa.com>__`:
 
-  * Pedro M. Baeza <pedro.baeza@tecnativa.com>
-  * Luis M. Ontalba <luis.martinez@tecnativa.com>
+  * Pedro M. Baeza
+  * Luis M. Ontalba
+  * Carlos Roca
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
index 5aec2b765a..5b81e9e971 100644
--- a/delivery_multi_destination/static/description/index.html
+++ b/delivery_multi_destination/static/description/index.html
@@ -367,7 +367,7 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 !! This file is generated by oca-gen-addon-readme !!
 !! changes will be overwritten.                   !!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/12.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-12-0/delivery-carrier-12-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/13.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-13-0/delivery-carrier-13-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
 <p>This module allows to set different price rules depending on the destination.</p>
 <p>This module restores the concept of delivery grid, reusing the same model for
 nesting several “children” delivery methods, one per possible destination.
@@ -392,7 +392,7 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 <h1><a class="toc-backref" href="#id1">Configuration</a></h1>
 <p>To configure delivery methods with multiple destinations:</p>
 <ol class="arabic simple">
-<li>Go to Inventory &gt; Configuration &gt; Delivery &gt; Delivery Methods</li>
+<li>Go to Inventory &gt; Configuration &gt; Delivery &gt; Shipping Methods</li>
 <li>Create or edit an existing record.</li>
 <li>Select “Destination type” = “Multiple destinations”.</li>
 <li>Introduce a line for each destination in the new tab “Destinations”</li>
@@ -419,7 +419,7 @@ <h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
 <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/delivery-carrier/issues">GitHub Issues</a>.
 In case of trouble, please check there if your issue has already been reported.
 If you spotted it first, help us smashing it by providing a detailed and welcomed
-<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
 <p>Do not contact contributors directly about support or help with technical issues.</p>
 </div>
 <div class="section" id="credits">
@@ -434,8 +434,9 @@ <h2><a class="toc-backref" href="#id6">Authors</a></h2>
 <h2><a class="toc-backref" href="#id7">Contributors</a></h2>
 <ul class="simple">
 <li><cite>Tecnativa &lt;https://www.tecnativa.com&gt;__</cite>:<ul>
-<li>Pedro M. Baeza &lt;<a class="reference external" href="mailto:pedro.baeza&#64;tecnativa.com">pedro.baeza&#64;tecnativa.com</a>&gt;</li>
-<li>Luis M. Ontalba &lt;<a class="reference external" href="mailto:luis.martinez&#64;tecnativa.com">luis.martinez&#64;tecnativa.com</a>&gt;</li>
+<li>Pedro M. Baeza</li>
+<li>Luis M. Ontalba</li>
+<li>Carlos Roca</li>
 </ul>
 </li>
 </ul>
@@ -447,7 +448,7 @@ <h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
 <p>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.</p>
-<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/12.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/13.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
 <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
 </div>
 </div>
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index b5d7458995..be033ec5c3 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -2,20 +2,20 @@
 # Copyright 2019-2020 Tecnativa - Pedro M. Baeza
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
-from odoo.tests import common
+from odoo.tests import Form, common
 
 
 class TestDeliveryMultiDestination(common.SavepointCase):
     @classmethod
     def setUpClass(cls):
         super(TestDeliveryMultiDestination, cls).setUpClass()
-        cls.country_1 = cls.env["res.country"].create({"name": "Test country 1",})
+        cls.country_1 = cls.env["res.country"].create({"name": "Test country 1"})
         cls.partner_1 = cls.env["res.partner"].create(
-            {"name": "Test partner 1", "country_id": cls.country_1.id,}
+            {"name": "Test partner 1", "country_id": cls.country_1.id}
         )
-        cls.country_2 = cls.env["res.country"].create({"name": "Test country 2",})
+        cls.country_2 = cls.env["res.country"].create({"name": "Test country 2"})
         cls.state = cls.env["res.country.state"].create(
-            {"name": "Test state", "code": "TS", "country_id": cls.country_2.id,}
+            {"name": "Test state", "code": "TS", "country_id": cls.country_2.id}
         )
         cls.partner_2 = cls.env["res.partner"].create(
             {
@@ -34,13 +34,13 @@ def setUpClass(cls):
             }
         )
         cls.product = cls.env["product.product"].create(
-            {"name": "Test carrier multi", "type": "service",}
+            {"name": "Test carrier multi", "type": "service"}
         )
         cls.product_child_1 = cls.env["product.product"].create(
-            {"name": "Test child 1", "type": "service",}
+            {"name": "Test child 1", "type": "service"}
         )
         cls.product_child_2 = cls.env["product.product"].create(
-            {"name": "Test child 2", "type": "service",}
+            {"name": "Test child 2", "type": "service"}
         )
         cls.carrier_multi = cls.env["delivery.carrier"].create(
             {
@@ -91,7 +91,7 @@ def setUpClass(cls):
             }
         )
         cls.product = cls.env["product.product"].create(
-            {"name": "Test product", "type": "product",}
+            {"name": "Test product", "type": "product"}
         )
         cls.pricelist = cls.env["product.pricelist"].create(
             {
@@ -132,15 +132,47 @@ def setUpClass(cls):
     def test_delivery_multi_destination(self):
         order = self.sale_order
         order.carrier_id = self.carrier_single.id
-        order.get_delivery_price()
-        self.assertAlmostEqual(order.delivery_price, 100, 2)
+        delivery_wizard = Form(
+            self.env["choose.delivery.carrier"].with_context(
+                {
+                    "default_order_id": order.id,
+                    "default_carrier_id": order.carrier_id.id,
+                }
+            )
+        )
+        choose_delivery_carrier = delivery_wizard.save()
+        choose_delivery_carrier.button_confirm()
+        sale_order_line = order.order_line.filtered("is_delivery")
+        self.assertAlmostEqual(sale_order_line.price_unit, 100, 2)
+        self.assertTrue(sale_order_line.is_delivery)
         order.carrier_id = self.carrier_multi.id
         order.partner_shipping_id = self.partner_2.id
-        order.get_delivery_price()
-        self.assertAlmostEqual(order.delivery_price, 50, 2)
+        delivery_wizard = Form(
+            self.env["choose.delivery.carrier"].with_context(
+                {
+                    "default_order_id": order.id,
+                    "default_carrier_id": order.carrier_id.id,
+                }
+            )
+        )
+        choose_delivery_carrier = delivery_wizard.save()
+        choose_delivery_carrier.button_confirm()
+        sale_order_line = order.order_line.filtered("is_delivery")
+        self.assertAlmostEqual(sale_order_line.price_unit, 50, 2)
+        self.assertTrue(sale_order_line.is_delivery)
         order.partner_shipping_id = self.partner_3.id
-        order.get_delivery_price()
-        self.assertAlmostEqual(order.delivery_price, 150, 2)
+        delivery_wizard = Form(
+            self.env["choose.delivery.carrier"].with_context(
+                {
+                    "default_order_id": order.id,
+                    "default_carrier_id": order.carrier_id.id,
+                }
+            )
+        )
+        choose_delivery_carrier = delivery_wizard.save()
+        choose_delivery_carrier.button_confirm()
+        sale_order_line = order.order_line.filtered("is_delivery")
+        self.assertAlmostEqual(sale_order_line.price_unit, 150, 2)
 
     def test_search(self):
         carriers = self.env["delivery.carrier"].search([])

From 378c929d892bb89057c810170ca6deaee35a0f72 Mon Sep 17 00:00:00 2001
From: gianmarco <gconte@dinamicheaziendali.it>
Date: Fri, 4 Jun 2021 12:21:41 +0200
Subject: [PATCH 12/23] [IMP] delivery_multi_destination: black, isort,
 prettier

---
 .../models/delivery_carrier.py                | 22 ++++++++++++++-----
 .../tests/test_delivery_multi_destination.py  |  3 ++-
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 6759d887f4..df92bc4f17 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -15,7 +15,8 @@ class DeliveryCarrier(models.Model):
         string="Destination grid",
     )
     parent_id = fields.Many2one(
-        comodel_name="delivery.carrier", string="Parent carrier",
+        comodel_name="delivery.carrier",
+        string="Parent carrier",
     )
     destination_type = fields.Selection(
         selection=[("one", "One destination"), ("multi", "Multiple destinations")],
@@ -30,7 +31,11 @@ def search(self, args, offset=0, limit=None, order=None, count=False):
                 args = []
             args += [("parent_id", "=", False)]
         return super(DeliveryCarrier, self).search(
-            args, offset=offset, limit=limit, order=order, count=count,
+            args,
+            offset=offset,
+            limit=limit,
+            order=order,
+            count=count,
         )
 
     @api.model
@@ -41,7 +46,10 @@ def name_search(self, name="", args=None, operator="ilike", limit=100):
                 args = []
             args += [("parent_id", "=", False)]
         return super(DeliveryCarrier, self)._name_search(
-            name=name, args=args, operator=operator, limit=limit,
+            name=name,
+            args=args,
+            operator=operator,
+            limit=limit,
         )
 
     def available_carriers(self, partner):
@@ -67,7 +75,10 @@ def rate_shipment(self, order):
             carrier = self.with_context(show_children_carriers=True)
             for subcarrier in carrier.child_ids:
                 if subcarrier._match_address(order.partner_shipping_id):
-                    return super(DeliveryCarrier, subcarrier,).rate_shipment(order)
+                    return super(
+                        DeliveryCarrier,
+                        subcarrier,
+                    ).rate_shipment(order)
 
     def send_shipping(self, pickings):
         """We have to override this method for redirecting the result to the
@@ -93,7 +104,8 @@ def send_shipping(self, pickings):
                     else:
                         try:
                             picking_res = super(
-                                DeliveryCarrier, subcarrier,
+                                DeliveryCarrier,
+                                subcarrier,
                             ).send_shipping(pickings)
                             break
                         except Exception:
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index be033ec5c3..4a8b7c66b5 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -190,7 +190,8 @@ def test_name_search(self):
 
     def test_available_carriers(self):
         self.assertEqual(
-            self.carrier_multi.available_carriers(self.partner_2), self.carrier_multi,
+            self.carrier_multi.available_carriers(self.partner_2),
+            self.carrier_multi,
         )
 
     def test_picking_validation(self):

From 7130374fa86dfeb27343e68a9e0eaa48845edd7c Mon Sep 17 00:00:00 2001
From: gianmarco <gconte@dinamicheaziendali.it>
Date: Fri, 4 Jun 2021 14:15:32 +0200
Subject: [PATCH 13/23] [MIG] delivery_multi_destination: Migration to 14.0

[UPD] Update delivery_multi_destination.pot

[UPD] README.rst
---
 delivery_multi_destination/README.rst           | 14 +++++++++-----
 delivery_multi_destination/__manifest__.py      |  3 ++-
 .../i18n/delivery_multi_destination.pot         | 17 ++++++++++++++++-
 delivery_multi_destination/i18n/pt_BR.po        | 12 ++++++------
 .../models/delivery_carrier.py                  | 13 +++----------
 .../readme/CONTRIBUTORS.rst                     |  4 ++++
 .../static/description/index.html               | 10 +++++++---
 .../tests/test_delivery_multi_destination.py    |  2 +-
 8 files changed, 48 insertions(+), 27 deletions(-)

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index fb87f08a82..72775386cf 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -14,13 +14,13 @@ Multiple destinations for the same delivery method
     :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/13.0/delivery_multi_destination
+    :target: https://github.com/OCA/delivery-carrier/tree/14.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-13-0/delivery-carrier-13-0-delivery_multi_destination
+    :target: https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_multi_destination
     :alt: Translate me on Weblate
 .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
-    :target: https://runbot.odoo-community.org/runbot/99/13.0
+    :target: https://runbot.odoo-community.org/runbot/99/14.0
     :alt: Try me on Runbot
 
 |badge1| |badge2| |badge3| |badge4| |badge5| 
@@ -67,7 +67,7 @@ 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 smashing it by providing a detailed and welcomed
-`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2014.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.
 
@@ -88,6 +88,10 @@ Contributors
   * Luis M. Ontalba
   * Carlos Roca
 
+* `Dinamiche Aziendali <https://www.dinamicheaziendali.it>__`:
+
+  * Gianmarco Conte
+
 Maintainers
 ~~~~~~~~~~~
 
@@ -101,6 +105,6 @@ 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/13.0/delivery_multi_destination>`_ project on GitHub.
+This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/14.0/delivery_multi_destination>`_ project on GitHub.
 
 You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 69c8777595..031c794f80 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -1,10 +1,11 @@
 # Copyright 2016-2019 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+# Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "13.0.1.0.0",
+    "version": "14.0.1.0.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, " "Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index fd910c9a84..124fee144f 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -4,7 +4,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
+"Project-Id-Version: Odoo Server 14.0\n"
 "Report-Msgid-Bugs-To: \n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -33,11 +33,21 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__display_name
+msgid "Display Name"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
 msgid "France"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__id
+msgid "ID"
+msgstr ""
+
 #. 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
@@ -63,6 +73,11 @@ msgstr ""
 msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
+#. module: delivery_multi_destination
+#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier____last_update
+msgid "Last Modified on"
+msgstr ""
+
 #. module: delivery_multi_destination
 #: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 96d7d4f000..5a54786937 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
-"PO-Revision-Date: 2019-09-09 14:24+0000\n"
-"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
-"teams/23907/pt_BR/)\n"
+"PO-Revision-Date: 2022-02-01 19:33+0000\n"
+"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatica@protonmail.com>\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
+"23907/pt_BR/)\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 3.8\n"
+"X-Generator: Weblate 4.3.2\n"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
@@ -94,7 +94,7 @@ msgstr "Transportadora Matriz"
 #: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
 #, python-format
 msgid "There is no matching delivery rule."
-msgstr ""
+msgstr "Não há regra de entrega correspondente."
 
 #. module: delivery_multi_destination
 #: model:product.product,uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index df92bc4f17..3b159e588a 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -1,5 +1,6 @@
 # Copyright 2016-2020 Tecnativa - Pedro M. Baeza
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+# Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from odoo import _, api, fields, models
@@ -41,16 +42,8 @@ def search(self, args, offset=0, limit=None, order=None, count=False):
     @api.model
     def name_search(self, name="", args=None, operator="ilike", limit=100):
         """Don't show by default children carriers."""
-        if not self.env.context.get("show_children_carriers"):
-            if args is None:
-                args = []
-            args += [("parent_id", "=", False)]
-        return super(DeliveryCarrier, self)._name_search(
-            name=name,
-            args=args,
-            operator=operator,
-            limit=limit,
-        )
+        domain = [("parent_id", "=", False)]
+        return self.search(domain, limit=limit).name_get()
 
     def available_carriers(self, partner):
         """If the carrier is multi, we test the availability on children."""
diff --git a/delivery_multi_destination/readme/CONTRIBUTORS.rst b/delivery_multi_destination/readme/CONTRIBUTORS.rst
index cac0fd55e8..27389b0efb 100644
--- a/delivery_multi_destination/readme/CONTRIBUTORS.rst
+++ b/delivery_multi_destination/readme/CONTRIBUTORS.rst
@@ -3,3 +3,7 @@
   * Pedro M. Baeza
   * Luis M. Ontalba
   * Carlos Roca
+
+* `Dinamiche Aziendali <https://www.dinamicheaziendali.it>__`:
+
+  * Gianmarco Conte
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
index 5b81e9e971..0c0721d010 100644
--- a/delivery_multi_destination/static/description/index.html
+++ b/delivery_multi_destination/static/description/index.html
@@ -367,7 +367,7 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 !! This file is generated by oca-gen-addon-readme !!
 !! changes will be overwritten.                   !!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/13.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-13-0/delivery-carrier-13-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/14.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
 <p>This module allows to set different price rules depending on the destination.</p>
 <p>This module restores the concept of delivery grid, reusing the same model for
 nesting several “children” delivery methods, one per possible destination.
@@ -419,7 +419,7 @@ <h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
 <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/delivery-carrier/issues">GitHub Issues</a>.
 In case of trouble, please check there if your issue has already been reported.
 If you spotted it first, help us smashing it by providing a detailed and welcomed
-<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
 <p>Do not contact contributors directly about support or help with technical issues.</p>
 </div>
 <div class="section" id="credits">
@@ -439,6 +439,10 @@ <h2><a class="toc-backref" href="#id7">Contributors</a></h2>
 <li>Carlos Roca</li>
 </ul>
 </li>
+<li><cite>Dinamiche Aziendali &lt;https://www.dinamicheaziendali.it&gt;__</cite>:<ul>
+<li>Gianmarco Conte</li>
+</ul>
+</li>
 </ul>
 </div>
 <div class="section" id="maintainers">
@@ -448,7 +452,7 @@ <h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
 <p>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.</p>
-<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/13.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/14.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
 <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
 </div>
 </div>
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 4a8b7c66b5..02468c451c 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -202,5 +202,5 @@ def test_picking_validation(self):
         picking = self.sale_order.picking_ids
         self.assertEqual(picking.carrier_id, self.carrier_multi)
         picking.move_lines.quantity_done = 1
-        picking.action_done()
+        picking._action_done()
         self.assertAlmostEqual(picking.carrier_price, 50)

From f2329b137fed9ecd76b98d042467fd3202ecfc61 Mon Sep 17 00:00:00 2001
From: Hai Lang <hailn@trobz.com>
Date: Wed, 19 Jan 2022 17:10:21 +0700
Subject: [PATCH 14/23] [FIX] delivery_multi_destination: consider no carrier
 scenario

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
---
 delivery_multi_destination/__manifest__.py    |  2 +-
 .../models/delivery_carrier.py                | 60 ++++++++++---------
 2 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 031c794f80..367197dbff 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -5,7 +5,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "14.0.1.0.0",
+    "version": "14.0.1.0.1",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, " "Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 3b159e588a..b13a6ebb36 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -2,10 +2,13 @@
 # Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
 # Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+import logging
 
 from odoo import _, api, fields, models
 from odoo.exceptions import ValidationError
 
+_logger = logging.getLogger(__name__)
+
 
 class DeliveryCarrier(models.Model):
     _inherit = "delivery.carrier"
@@ -77,33 +80,34 @@ def send_shipping(self, pickings):
         """We have to override this method for redirecting the result to the
         proper "child" carrier.
         """
-        if self.destination_type == "one":
+        # falsy type is considered as one destination
+        if not self.destination_type or self.destination_type == "one":
             return super().send_shipping(pickings)
+        carrier = self.with_context(show_children_carriers=True)
+        res = []
+        for p in pickings:
+            picking_res = False
+            for subcarrier in carrier.child_ids:
+                picking_res = subcarrier._send_shipping_next(p, picking_res)
+            if not picking_res:
+                raise ValidationError(_("There is no matching delivery rule."))
+            res += picking_res
+        return res
+
+    def _send_shipping_next(self, picking, picking_res):
+        if self.delivery_type == "fixed":
+            if self._match_address(picking.partner_id):
+                picking_res = [
+                    {
+                        "exact_price": self.fixed_price,
+                        "tracking_number": False,
+                    }
+                ]
+            # TODO: verify if not match address, previous picking_res (passed
+            # in method's argument) can be used.
         else:
-            carrier = self.with_context(show_children_carriers=True)
-            res = []
-            for p in pickings:
-                picking_res = False
-                for subcarrier in carrier.child_ids:
-                    if subcarrier.delivery_type == "fixed":
-                        if subcarrier._match_address(p.partner_id):
-                            picking_res = [
-                                {
-                                    "exact_price": subcarrier.fixed_price,
-                                    "tracking_number": False,
-                                }
-                            ]
-                            break
-                    else:
-                        try:
-                            picking_res = super(
-                                DeliveryCarrier,
-                                subcarrier,
-                            ).send_shipping(pickings)
-                            break
-                        except Exception:
-                            pass
-                if not picking_res:
-                    raise ValidationError(_("There is no matching delivery rule."))
-                res += picking_res
-            return res
+            try:
+                picking_res = super().send_shipping(picking)
+            except Exception as err:
+                _logger.warning("%s: %s", "_send_shipping_next", str(err))
+        return picking_res

From 2f56f043361fa634fa9f8be115cfbd1575e11e1d Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Tue, 12 Apr 2022 13:43:48 +0200
Subject: [PATCH 15/23] [FIX] delivery_multi_destination: ondelete=cascade +
 hide field in multi

---
 delivery_multi_destination/__manifest__.py               | 2 +-
 delivery_multi_destination/i18n/es.po                    | 9 +++++----
 delivery_multi_destination/models/delivery_carrier.py    | 1 +
 .../views/delivery_carrier_view.xml                      | 5 +++++
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 367197dbff..7134820073 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -5,7 +5,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "14.0.1.0.1",
+    "version": "14.0.1.1.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, " "Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index 9ee098ed31..ea3423e9ba 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -10,14 +10,15 @@ msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-03-13 03:45+0000\n"
-"PO-Revision-Date: 2018-03-13 03:45+0000\n"
-"Last-Translator: enjolras <yo@miguelrevilla.com>, 2018\n"
+"PO-Revision-Date: 2022-04-21 16:05+0000\n"
+"Last-Translator: Pedro M. Baeza <pedro.baeza@gmail.com>\n"
 "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.3.2\n"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
@@ -81,7 +82,7 @@ msgstr "Transportes Internacionales, S.A."
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
 msgid "Multiple destinations"
-msgstr "Destino múltiples"
+msgstr "Destinos múltiples"
 
 #. module: delivery_multi_destination
 #: selection:delivery.carrier,destination_type:0
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index b13a6ebb36..c775f65d20 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -21,6 +21,7 @@ class DeliveryCarrier(models.Model):
     parent_id = fields.Many2one(
         comodel_name="delivery.carrier",
         string="Parent carrier",
+        ondelete="cascade",
     )
     destination_type = fields.Selection(
         selection=[("one", "One destination"), ("multi", "Multiple destinations")],
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index d3d0fbeb46..54fee94d8c 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -71,6 +71,11 @@
         <field name="model">delivery.carrier</field>
         <field name="inherit_id" ref="delivery.view_delivery_carrier_tree" />
         <field name="arch" type="xml">
+            <field name="delivery_type" position="attributes">
+                <attribute
+                    name="attrs"
+                >{'invisible': [('destination_type', '!=', 'one')]}</attribute>
+            </field>
             <field name="delivery_type" position="after">
                 <field name="destination_type" />
                 <field

From df3737feef716a0dc0d78dab979579a8e9587b43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
 <victor.martinez@tecnativa.com>
Date: Thu, 3 Nov 2022 12:23:41 +0100
Subject: [PATCH 16/23] [MIG] delivery_multi_destination: Migration to 15.0

TT40225
---
 delivery_multi_destination/README.rst         |  10 +-
 delivery_multi_destination/__manifest__.py    |   6 +-
 .../demo/delivery_carrier_demo.xml            |   8 +-
 delivery_multi_destination/i18n/cs_CZ.po      |  43 ++---
 delivery_multi_destination/i18n/de.po         |  45 ++---
 .../i18n/delivery_multi_destination.pot       |  17 +-
 delivery_multi_destination/i18n/es.po         |  43 ++---
 delivery_multi_destination/i18n/fr.po         |  43 ++---
 delivery_multi_destination/i18n/it.po         |  43 ++---
 delivery_multi_destination/i18n/nl.po         |  43 ++---
 delivery_multi_destination/i18n/nl_NL.po      |  43 ++---
 delivery_multi_destination/i18n/pt_BR.po      |  52 +++--
 delivery_multi_destination/i18n/sl.po         |  48 ++---
 delivery_multi_destination/i18n/zh_CN.po      |  47 +++--
 .../models/delivery_carrier.py                |   2 +-
 .../static/description/index.html             |   6 +-
 .../tests/test_delivery_multi_destination.py  | 182 +++++++-----------
 .../views/delivery_carrier_view.xml           |  24 +--
 18 files changed, 263 insertions(+), 442 deletions(-)

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index 72775386cf..ae723adfab 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -14,13 +14,13 @@ Multiple destinations for the same delivery method
     :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/14.0/delivery_multi_destination
+    :target: https://github.com/OCA/delivery-carrier/tree/15.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-14-0/delivery-carrier-14-0-delivery_multi_destination
+    :target: https://translation.odoo-community.org/projects/delivery-carrier-15-0/delivery-carrier-15-0-delivery_multi_destination
     :alt: Translate me on Weblate
 .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
-    :target: https://runbot.odoo-community.org/runbot/99/14.0
+    :target: https://runbot.odoo-community.org/runbot/99/15.0
     :alt: Try me on Runbot
 
 |badge1| |badge2| |badge3| |badge4| |badge5| 
@@ -67,7 +67,7 @@ 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 smashing it by providing a detailed and welcomed
-`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2015.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.
 
@@ -105,6 +105,6 @@ 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/14.0/delivery_multi_destination>`_ project on GitHub.
+This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/15.0/delivery_multi_destination>`_ project on GitHub.
 
 You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 7134820073..5b40d84dc9 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -1,14 +1,14 @@
 # Copyright 2016-2019 Tecnativa - Pedro M. Baeza
-# Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+# Copyright 2017 Tecnativa - Luis M. Ontalba
 # Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "14.0.1.1.0",
+    "version": "15.0.1.0.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
-    "author": "Tecnativa, " "Odoo Community Association (OCA)",
+    "author": "Tecnativa, Odoo Community Association (OCA)",
     "license": "AGPL-3",
     "installable": True,
     "depends": ["delivery"],
diff --git a/delivery_multi_destination/demo/delivery_carrier_demo.xml b/delivery_multi_destination/demo/delivery_carrier_demo.xml
index 10567f5538..7a8de8fad7 100644
--- a/delivery_multi_destination/demo/delivery_carrier_demo.xml
+++ b/delivery_multi_destination/demo/delivery_carrier_demo.xml
@@ -2,7 +2,7 @@
 <odoo noupdate="1">
     <record id="product_product_delivery_carrier_multi" model="product.product">
         <field name="name">International Carrier Inc.</field>
-        <field name="type">service</field>
+        <field name="detailed_type">service</field>
     </record>
     <record id="delivery_carrier_multi" model="delivery.carrier">
         <field name="name">International Carrier Inc.</field>
@@ -12,7 +12,7 @@
     </record>
     <record id="product_product_delivery_carrier_multi_child_1" model="product.product">
         <field name="name">International Carrier Inc., Belgium</field>
-        <field name="type">service</field>
+        <field name="detailed_type">service</field>
     </record>
     <record id="delivery_carrier_multi_child_1" model="delivery.carrier">
         <field name="name">Belgium</field>
@@ -45,7 +45,7 @@
     </record>
     <record id="product_product_delivery_carrier_multi_child_2" model="product.product">
         <field name="name">International Carrier Inc., France</field>
-        <field name="type">service</field>
+        <field name="detailed_type">service</field>
     </record>
     <record id="delivery_carrier_multi_child_2" model="delivery.carrier">
         <field name="name">France</field>
@@ -58,7 +58,7 @@
     </record>
     <record id="product_product_delivery_carrier_multi_child_3" model="product.product">
         <field name="name">International Carrier Inc., United Kingdom</field>
-        <field name="type">service</field>
+        <field name="detailed_type">service</field>
     </record>
     <record id="delivery_carrier_multi_child_3" model="delivery.carrier">
         <field name="name">United Kingdom</field>
diff --git a/delivery_multi_destination/i18n/cs_CZ.po b/delivery_multi_destination/i18n/cs_CZ.po
index 12b3040ee4..258db2abba 100644
--- a/delivery_multi_destination/i18n/cs_CZ.po
+++ b/delivery_multi_destination/i18n/cs_CZ.po
@@ -24,11 +24,6 @@ msgstr ""
 msgid "Belgium"
 msgstr "Belgie"
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 #, fuzzy
@@ -79,12 +74,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr "Mezinárodní dopravce Inc."
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: 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
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr "Jeden cíl"
 
@@ -94,11 +89,21 @@ msgid "Parent carrier"
 msgstr "Nadřazený dopravce"
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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
@@ -108,25 +113,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 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,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
-#~ msgid "Carrier"
-#~ msgstr "Dopravce"
diff --git a/delivery_multi_destination/i18n/de.po b/delivery_multi_destination/i18n/de.po
index 6f82ccf817..c459aa6a36 100644
--- a/delivery_multi_destination/i18n/de.po
+++ b/delivery_multi_destination/i18n/de.po
@@ -24,11 +24,6 @@ msgstr ""
 msgid "Belgium"
 msgstr "Belgien"
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr "Liefermethoden"
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -75,12 +70,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr "Mehrere Ziele"
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr "Ein Ziel"
 
@@ -90,11 +85,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 "Vereinigtes Königreich"
+
 #. 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
@@ -104,25 +109,11 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr "Vereinigtes Königreich"
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr "kg"
+#~ msgid "Delivery Methods"
+#~ msgstr "Liefermethoden"
 
-#~ msgid "Carrier"
-#~ msgstr "Spediteur"
+#~ msgid "kg"
+#~ msgstr "kg"
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index 124fee144f..584fa70dac 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -4,7 +4,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Odoo Server 14.0\n"
+"Project-Id-Version: Odoo Server 15.0\n"
 "Report-Msgid-Bugs-To: \n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -33,21 +33,11 @@ msgstr ""
 msgid "Destinations"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__display_name
-msgid "Display Name"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_2
 msgid "France"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__id
-msgid "ID"
-msgstr ""
-
 #. 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
@@ -73,11 +63,6 @@ msgstr ""
 msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier____last_update
-msgid "Last Modified on"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index ea3423e9ba..5a93edce6e 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -25,11 +25,6 @@ msgstr ""
 msgid "Belgium"
 msgstr "Bélgica"
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 #, fuzzy
@@ -80,12 +75,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr "Transportes Internacionales, S.A."
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr "Destinos múltiples"
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr "Un destino"
 
@@ -95,11 +90,21 @@ msgid "Parent carrier"
 msgstr "Transportista matriz"
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 "Reino Unido"
+
 #. 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
@@ -109,25 +114,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr "Reino Unido"
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
-#~ msgid "Carrier"
-#~ msgstr "Transportista"
diff --git a/delivery_multi_destination/i18n/fr.po b/delivery_multi_destination/i18n/fr.po
index 4ec2f3746a..0042eefc1b 100644
--- a/delivery_multi_destination/i18n/fr.po
+++ b/delivery_multi_destination/i18n/fr.po
@@ -23,11 +23,6 @@ msgstr ""
 msgid "Belgium"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -74,12 +69,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr ""
 
@@ -89,11 +84,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 ""
+
 #. 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
@@ -103,25 +108,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
-#~ msgid "Carrier"
-#~ msgstr "Transporteur"
diff --git a/delivery_multi_destination/i18n/it.po b/delivery_multi_destination/i18n/it.po
index 4a425bbfa6..b560e0fc1a 100644
--- a/delivery_multi_destination/i18n/it.po
+++ b/delivery_multi_destination/i18n/it.po
@@ -23,11 +23,6 @@ msgstr ""
 msgid "Belgium"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -74,12 +69,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr ""
 
@@ -89,11 +84,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 ""
+
 #. 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
@@ -103,25 +108,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
-#~ msgid "Carrier"
-#~ msgstr "Corriere"
diff --git a/delivery_multi_destination/i18n/nl.po b/delivery_multi_destination/i18n/nl.po
index 7dfa86bddb..6327f56075 100644
--- a/delivery_multi_destination/i18n/nl.po
+++ b/delivery_multi_destination/i18n/nl.po
@@ -23,11 +23,6 @@ msgstr ""
 msgid "Belgium"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -74,12 +69,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr ""
 
@@ -89,11 +84,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 ""
+
 #. 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
@@ -103,25 +108,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
-#~ msgid "Carrier"
-#~ msgstr "Vervoerder"
diff --git a/delivery_multi_destination/i18n/nl_NL.po b/delivery_multi_destination/i18n/nl_NL.po
index 7f88689789..d94dfd998b 100644
--- a/delivery_multi_destination/i18n/nl_NL.po
+++ b/delivery_multi_destination/i18n/nl_NL.po
@@ -24,11 +24,6 @@ msgstr ""
 msgid "Belgium"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr ""
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -75,12 +70,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr ""
 
@@ -90,11 +85,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 ""
+
 #. 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
@@ -104,25 +109,5 @@ msgstr ""
 #: 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 "Unit(s)"
+msgid "Units"
 msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr ""
-
-#~ msgid "Carrier"
-#~ msgstr "Vervoerder"
diff --git a/delivery_multi_destination/i18n/pt_BR.po b/delivery_multi_destination/i18n/pt_BR.po
index 5a54786937..a0c9580022 100644
--- a/delivery_multi_destination/i18n/pt_BR.po
+++ b/delivery_multi_destination/i18n/pt_BR.po
@@ -11,8 +11,8 @@ msgstr ""
 "POT-Creation-Date: 2017-12-15 18:21+0000\n"
 "PO-Revision-Date: 2022-02-01 19:33+0000\n"
 "Last-Translator: Rodrigo Macedo <rmsolucoeseminformatica@protonmail.com>\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
-"23907/pt_BR/)\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
+"teams/23907/pt_BR/)\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,11 +25,6 @@ msgstr ""
 msgid "Belgium"
 msgstr "Bélgica"
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr "Métodos de entrega"
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -76,12 +71,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr "International Carrier Inc., Reino Unido"
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr "Múltiplos destinatários"
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr "Um destino"
 
@@ -91,11 +86,21 @@ msgid "Parent carrier"
 msgstr "Transportadora Matriz"
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 "Não há regra de entrega correspondente."
 
+#. module: delivery_multi_destination
+#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
+msgid "United Kingdom"
+msgstr "Reino Unido"
+
 #. 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
@@ -105,25 +110,14 @@ msgstr "Não há regra de entrega correspondente."
 #: 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 "Unit(s)"
-msgstr "Unidade(s)"
+msgid "Units"
+msgstr ""
 
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr "Reino Unido"
+#~ msgid "Delivery Methods"
+#~ msgstr "Métodos de entrega"
 
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr "kg"
+#~ msgid "Unit(s)"
+#~ msgstr "Unidade(s)"
 
-#~ msgid "Carrier"
-#~ msgstr "Transportador"
+#~ msgid "kg"
+#~ msgstr "kg"
diff --git a/delivery_multi_destination/i18n/sl.po b/delivery_multi_destination/i18n/sl.po
index 0e46a4ad17..0e7ac048ca 100644
--- a/delivery_multi_destination/i18n/sl.po
+++ b/delivery_multi_destination/i18n/sl.po
@@ -16,8 +16,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
-"n%100==4 ? 2 : 3;\n"
+"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3;\n"
 "X-Generator: Weblate 3.10\n"
 
 #. module: delivery_multi_destination
@@ -25,11 +25,6 @@ msgstr ""
 msgid "Belgium"
 msgstr ""
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr "Načini dostave"
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -76,12 +71,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr ""
 
@@ -91,11 +86,21 @@ msgid "Parent carrier"
 msgstr ""
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 ""
+
 #. 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
@@ -105,25 +110,8 @@ msgstr ""
 #: 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 "Unit(s)"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr ""
-
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
+msgid "Units"
 msgstr ""
 
-#~ msgid "Carrier"
-#~ msgstr "Prevoznik"
+#~ msgid "Delivery Methods"
+#~ msgstr "Načini dostave"
diff --git a/delivery_multi_destination/i18n/zh_CN.po b/delivery_multi_destination/i18n/zh_CN.po
index d0ee844488..6e0ee2e2ec 100644
--- a/delivery_multi_destination/i18n/zh_CN.po
+++ b/delivery_multi_destination/i18n/zh_CN.po
@@ -21,11 +21,6 @@ msgstr ""
 msgid "Belgium"
 msgstr "比利时"
 
-#. module: delivery_multi_destination
-#: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
-msgid "Delivery Methods"
-msgstr "交货方式"
-
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
 msgid "Destination Type"
@@ -72,12 +67,12 @@ msgid "International Carrier Inc., United Kingdom"
 msgstr "英国国际航空公司"
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
 msgid "Multiple destinations"
 msgstr "多个目的地"
 
 #. module: delivery_multi_destination
-#: selection:delivery.carrier,destination_type:0
+#: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__one
 msgid "One destination"
 msgstr "一个目的地"
 
@@ -87,11 +82,21 @@ msgid "Parent carrier"
 msgstr "父承运商"
 
 #. module: delivery_multi_destination
-#: code:addons/delivery_multi_destination/models/delivery_carrier.py:103
+#: 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 "英国"
+
 #. 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
@@ -101,22 +106,14 @@ msgstr ""
 #: 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 "Unit(s)"
-msgstr "件"
+msgid "Units"
+msgstr ""
 
-#. module: delivery_multi_destination
-#: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
-msgid "United Kingdom"
-msgstr "英国"
+#~ msgid "Delivery Methods"
+#~ msgstr "交货方式"
 
-#. module: delivery_multi_destination
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2
-#: model:product.product,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_1_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_2_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_child_3_product_template
-#: model:product.template,weight_uom_name:delivery_multi_destination.product_product_delivery_carrier_multi_product_template
-msgid "kg"
-msgstr "千克"
+#~ msgid "Unit(s)"
+#~ msgstr "件"
+
+#~ msgid "kg"
+#~ msgstr "千克"
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index c775f65d20..c4a95146e4 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -1,5 +1,5 @@
 # Copyright 2016-2020 Tecnativa - Pedro M. Baeza
-# Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+# Copyright 2017 Tecnativa - Luis M. Ontalba
 # Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 import logging
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
index 0c0721d010..f5753c6ed6 100644
--- a/delivery_multi_destination/static/description/index.html
+++ b/delivery_multi_destination/static/description/index.html
@@ -367,7 +367,7 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 !! This file is generated by oca-gen-addon-readme !!
 !! changes will be overwritten.                   !!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/14.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/15.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-15-0/delivery-carrier-15-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
 <p>This module allows to set different price rules depending on the destination.</p>
 <p>This module restores the concept of delivery grid, reusing the same model for
 nesting several “children” delivery methods, one per possible destination.
@@ -419,7 +419,7 @@ <h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
 <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/delivery-carrier/issues">GitHub Issues</a>.
 In case of trouble, please check there if your issue has already been reported.
 If you spotted it first, help us smashing it by providing a detailed and welcomed
-<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
 <p>Do not contact contributors directly about support or help with technical issues.</p>
 </div>
 <div class="section" id="credits">
@@ -452,7 +452,7 @@ <h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
 <p>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.</p>
-<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/14.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/15.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
 <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
 </div>
 </div>
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 02468c451c..2ffd948dc6 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -1,17 +1,24 @@
-# Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+# Copyright 2017 Tecnativa - Luis M. Ontalba
 # Copyright 2019-2020 Tecnativa - Pedro M. Baeza
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
 
 from odoo.tests import Form, common
 
 
-class TestDeliveryMultiDestination(common.SavepointCase):
+class TestDeliveryMultiDestination(common.TransactionCase):
     @classmethod
     def setUpClass(cls):
-        super(TestDeliveryMultiDestination, cls).setUpClass()
+        super().setUpClass()
         cls.country_1 = cls.env["res.country"].create({"name": "Test country 1"})
+        cls.pricelist = cls.env["product.pricelist"].create(
+            {"name": "Test pricelist", "currency_id": cls.env.company.currency_id.id}
+        )
         cls.partner_1 = cls.env["res.partner"].create(
-            {"name": "Test partner 1", "country_id": cls.country_1.id}
+            {
+                "name": "Test partner 1",
+                "country_id": cls.country_1.id,
+                "property_product_pricelist": cls.pricelist.id,
+            }
         )
         cls.country_2 = cls.env["res.country"].create({"name": "Test country 2"})
         cls.state = cls.env["res.country.state"].create(
@@ -34,54 +41,32 @@ def setUpClass(cls):
             }
         )
         cls.product = cls.env["product.product"].create(
-            {"name": "Test carrier multi", "type": "service"}
+            {"name": "Test carrier multi", "detailed_type": "service"}
         )
         cls.product_child_1 = cls.env["product.product"].create(
-            {"name": "Test child 1", "type": "service"}
+            {"name": "Test child 1", "detailed_type": "service"}
         )
         cls.product_child_2 = cls.env["product.product"].create(
-            {"name": "Test child 2", "type": "service"}
+            {"name": "Test child 2", "detailed_type": "service"}
         )
-        cls.carrier_multi = cls.env["delivery.carrier"].create(
-            {
-                "name": "Test carrier multi",
-                "product_id": cls.product.id,
-                "destination_type": "multi",
-                "delivery_type": "fixed",
-                "fixed_price": 100,
-                "child_ids": [
-                    (
-                        0,
-                        0,
-                        {
-                            "name": "Test child 1",
-                            "product_id": cls.product_child_1.id,
-                            "sequence": 1,
-                            "country_ids": [(6, 0, cls.country_2.ids)],
-                            "state_ids": [(6, 0, cls.state.ids)],
-                            "zip_from": 20000,
-                            "zip_to": 29999,
-                            "delivery_type": "fixed",
-                            "fixed_price": 50,
-                        },
-                    ),
-                    (
-                        0,
-                        0,
-                        {
-                            "name": "Test child 2",
-                            "product_id": cls.product_child_2.id,
-                            "sequence": 2,
-                            "country_ids": [(6, 0, cls.country_2.ids)],
-                            "state_ids": [(6, 0, cls.state.ids)],
-                            "zip_from": 30000,
-                            "zip_to": 39999,
-                            "delivery_type": "fixed",
-                            "fixed_price": 150,
-                        },
-                    ),
-                ],
-            }
+        cls.carrier_multi = cls._create_carrier(
+            cls,
+            (
+                {
+                    "name": "Test child 1",
+                    "product_id": cls.product_child_1,
+                    "zip_from": 20000,
+                    "zip_to": 29999,
+                    "fixed_price": 50,
+                },
+                {
+                    "name": "Test child 2",
+                    "product_id": cls.product_child_2,
+                    "zip_from": 30000,
+                    "zip_to": 39999,
+                    "fixed_price": 150,
+                },
+            ),
         )
         cls.carrier_single = cls.carrier_multi.copy(
             {
@@ -91,86 +76,63 @@ def setUpClass(cls):
             }
         )
         cls.product = cls.env["product.product"].create(
-            {"name": "Test product", "type": "product"}
-        )
-        cls.pricelist = cls.env["product.pricelist"].create(
-            {
-                "name": "Test pricelist",
-                "item_ids": [
-                    (
-                        0,
-                        0,
-                        {
-                            "applied_on": "3_global",
-                            "compute_price": "formula",
-                            "base": "list_price",
-                        },
-                    )
-                ],
-            }
-        )
-        cls.sale_order = cls.env["sale.order"].create(
-            {
-                "partner_id": cls.partner_1.id,
-                "picking_policy": "direct",
-                "pricelist_id": cls.pricelist.id,
-                "order_line": [
-                    (
-                        0,
-                        0,
-                        {
-                            "name": "Test",
-                            "product_id": cls.product.id,
-                            "product_uom_qty": 1,
-                            "price_unit": 1,
-                        },
-                    ),
-                ],
-            }
+            {"name": "Test product", "detailed_type": "product", "list_price": 1}
         )
+        cls.sale_order = cls._create_sale_order(cls)
 
-    def test_delivery_multi_destination(self):
-        order = self.sale_order
-        order.carrier_id = self.carrier_single.id
-        delivery_wizard = Form(
+    def _create_carrier(self, childs):
+        carrier_form = Form(self.env["delivery.carrier"])
+        carrier_form.name = "Test carrier multi"
+        carrier_form.product_id = self.product
+        carrier_form.destination_type = "multi"
+        carrier_form.delivery_type = "fixed"
+        carrier_form.fixed_price = 100
+        for child_item in childs:
+            with carrier_form.child_ids.new() as child_form:
+                child_form.name = child_item["name"]
+                child_form.product_id = child_item["product_id"]
+                child_form.country_ids.add(self.country_2)
+                child_form.state_ids.add(self.state)
+                child_form.zip_from = child_item["zip_from"]
+                child_form.zip_to = child_item["zip_to"]
+                child_form.delivery_type = "fixed"
+                child_form.fixed_price = child_item["fixed_price"]
+        return carrier_form.save()
+
+    def _create_sale_order(self):
+        order_form = Form(self.env["sale.order"])
+        order_form.partner_id = self.partner_1
+        with order_form.order_line.new() as line_form:
+            line_form.product_id = self.product
+        return order_form.save()
+
+    def _choose_delivery_carrier(self, order, carrier):
+        wizard = Form(
             self.env["choose.delivery.carrier"].with_context(
-                {
+                **{
                     "default_order_id": order.id,
-                    "default_carrier_id": order.carrier_id.id,
+                    "default_carrier_id": carrier.id,
                 }
             )
         )
-        choose_delivery_carrier = delivery_wizard.save()
+        choose_delivery_carrier = wizard.save()
         choose_delivery_carrier.button_confirm()
+
+    def test_delivery_multi_destination(self):
+        order = self.sale_order
+        order.carrier_id = self.carrier_single.id
+        self._choose_delivery_carrier(order, order.carrier_id)
         sale_order_line = order.order_line.filtered("is_delivery")
         self.assertAlmostEqual(sale_order_line.price_unit, 100, 2)
         self.assertTrue(sale_order_line.is_delivery)
         order.carrier_id = self.carrier_multi.id
         order.partner_shipping_id = self.partner_2.id
-        delivery_wizard = Form(
-            self.env["choose.delivery.carrier"].with_context(
-                {
-                    "default_order_id": order.id,
-                    "default_carrier_id": order.carrier_id.id,
-                }
-            )
-        )
-        choose_delivery_carrier = delivery_wizard.save()
-        choose_delivery_carrier.button_confirm()
+        self._choose_delivery_carrier(order, order.carrier_id)
         sale_order_line = order.order_line.filtered("is_delivery")
         self.assertAlmostEqual(sale_order_line.price_unit, 50, 2)
         self.assertTrue(sale_order_line.is_delivery)
         order.partner_shipping_id = self.partner_3.id
-        delivery_wizard = Form(
-            self.env["choose.delivery.carrier"].with_context(
-                {
-                    "default_order_id": order.id,
-                    "default_carrier_id": order.carrier_id.id,
-                }
-            )
-        )
-        choose_delivery_carrier = delivery_wizard.save()
-        choose_delivery_carrier.button_confirm()
+        self._choose_delivery_carrier(order, order.carrier_id)
         sale_order_line = order.order_line.filtered("is_delivery")
         self.assertAlmostEqual(sale_order_line.price_unit, 150, 2)
 
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index 54fee94d8c..dcfcfd1210 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!-- Copyright 2016-2020 Tecnativa - Pedro M. Baeza
-     Copyright 2017 Luis M. Ontalba <luis.martinez@tecnativa.com>
+     Copyright 2017 Tecnativa - Luis M. Ontalba
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
     <record id="view_delivery_carrier_form" model="ir.ui.view">
         <field name="model">delivery.carrier</field>
         <field name="inherit_id" ref="delivery.view_delivery_carrier_form" />
         <field name="arch" type="xml">
-            <xpath expr="//field[@name='delivery_type']/../../.." position="before">
+            <div name="title" position="after">
                 <group name="group_destination_type">
                     <field
                         name="destination_type"
                         invisible="context.get('show_children_fields', False)"
                     />
                 </group>
-            </xpath>
-            <xpath expr="//field[@name='delivery_type']/../.." position="attributes">
+            </div>
+            <group name="provider_details" position="attributes">
                 <attribute
                     name="attrs"
                 >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
-            </xpath>
+            </group>
             <label for="margin" position="attributes">
                 <attribute
                     name="attrs"
@@ -40,22 +40,16 @@
                     name="attrs"
                 >{'required':[('free_over','!=', False)], 'invisible':['|', ('free_over','=', False), ('destination_type', '=', 'multi')]}</attribute>
             </field>
-            <xpath
-                expr="//field[@name='fixed_price']/ancestor::page"
-                position="attributes"
-            >
+            <page name="pricing" position="attributes">
                 <attribute
                     name="attrs"
                 >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
-            </xpath>
-            <xpath
-                expr="//field[@name='country_ids']/ancestor::page"
-                position="attributes"
-            >
+            </page>
+            <page name="destination" position="attributes">
                 <attribute
                     name="attrs"
                 >{'invisible': [('destination_type', '=', 'multi')]}</attribute>
-            </xpath>
+            </page>
             <notebook position="inside">
                 <page
                     string="Destinations"

From 67bc9839af6c3644545c1a5424b21a0d6fc4e751 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
 <victor.martinez@tecnativa.com>
Date: Tue, 2 May 2023 12:43:43 +0200
Subject: [PATCH 17/23] [FIX] delivery_multi_destination: Avoid error in
 creation of a multiple carrier with UX

TT42837
---
 delivery_multi_destination/__manifest__.py             |  2 +-
 delivery_multi_destination/models/delivery_carrier.py  |  6 ++++++
 .../tests/test_delivery_multi_destination.py           | 10 ++++++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 5b40d84dc9..f1e106eb4f 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -5,7 +5,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "15.0.1.0.0",
+    "version": "15.0.1.0.1",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index c4a95146e4..2db9604809 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -29,6 +29,12 @@ class DeliveryCarrier(models.Model):
         required=True,
     )
 
+    @api.onchange("destination_type", "child_ids")
+    def _onchange_destination_type(self):
+        """Define the corresponding value to avoid creation error with UX."""
+        if self.destination_type == "multi" and self.child_ids and not self.product_id:
+            self.product_id = fields.first(self.child_ids.product_id)
+
     def search(self, args, offset=0, limit=None, order=None, count=False):
         """Don't show by default children carriers."""
         if not self.env.context.get("show_children_carriers"):
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 2ffd948dc6..4fc63f5d7a 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -166,3 +166,13 @@ def test_picking_validation(self):
         picking.move_lines.quantity_done = 1
         picking._action_done()
         self.assertAlmostEqual(picking.carrier_price, 50)
+
+    def test_delivery_carrier_multi_form(self):
+        carrier_form = Form(self.env["delivery.carrier"])
+        carrier_form.name = "Multi carrier"
+        carrier_form.destination_type = "multi"
+        with carrier_form.child_ids.new() as child_form:
+            child_form.name = "Child carrier"
+            child_form.product_id = self.product_child_1
+        carrier = carrier_form.save()
+        self.assertEqual(carrier.product_id, self.product_child_1)

From 4e58f4689ceeed2eb20875bd87d039cb92a887ef Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Wed, 31 May 2023 00:52:39 +0200
Subject: [PATCH 18/23] Revert "[FIX] delivery_multi_destination: consider no
 carrier scenario"

This reverts commit 0e28544728699bd982f5e1c674f2cbe0942fc0a2.

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.
---
 .../models/delivery_carrier.py                | 60 +++++++++----------
 1 file changed, 28 insertions(+), 32 deletions(-)

diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 2db9604809..738c6c162a 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -2,13 +2,10 @@
 # Copyright 2017 Tecnativa - Luis M. Ontalba
 # Copyright 2021 Gianmarco Conte <gconte@dinamicheaziendali.it>
 # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-import logging
 
 from odoo import _, api, fields, models
 from odoo.exceptions import ValidationError
 
-_logger = logging.getLogger(__name__)
-
 
 class DeliveryCarrier(models.Model):
     _inherit = "delivery.carrier"
@@ -87,34 +84,33 @@ def send_shipping(self, pickings):
         """We have to override this method for redirecting the result to the
         proper "child" carrier.
         """
-        # falsy type is considered as one destination
-        if not self.destination_type or self.destination_type == "one":
+        if self.destination_type == "one":
             return super().send_shipping(pickings)
-        carrier = self.with_context(show_children_carriers=True)
-        res = []
-        for p in pickings:
-            picking_res = False
-            for subcarrier in carrier.child_ids:
-                picking_res = subcarrier._send_shipping_next(p, picking_res)
-            if not picking_res:
-                raise ValidationError(_("There is no matching delivery rule."))
-            res += picking_res
-        return res
-
-    def _send_shipping_next(self, picking, picking_res):
-        if self.delivery_type == "fixed":
-            if self._match_address(picking.partner_id):
-                picking_res = [
-                    {
-                        "exact_price": self.fixed_price,
-                        "tracking_number": False,
-                    }
-                ]
-            # TODO: verify if not match address, previous picking_res (passed
-            # in method's argument) can be used.
         else:
-            try:
-                picking_res = super().send_shipping(picking)
-            except Exception as err:
-                _logger.warning("%s: %s", "_send_shipping_next", str(err))
-        return picking_res
+            carrier = self.with_context(show_children_carriers=True)
+            res = []
+            for p in pickings:
+                picking_res = False
+                for subcarrier in carrier.child_ids:
+                    if subcarrier.delivery_type == "fixed":
+                        if subcarrier._match_address(p.partner_id):
+                            picking_res = [
+                                {
+                                    "exact_price": subcarrier.fixed_price,
+                                    "tracking_number": False,
+                                }
+                            ]
+                            break
+                    else:
+                        try:
+                            picking_res = super(
+                                DeliveryCarrier,
+                                subcarrier,
+                            ).send_shipping(pickings)
+                            break
+                        except Exception:  # pylint: disable=except-pass
+                            pass
+                if not picking_res:
+                    raise ValidationError(_("There is no matching delivery rule."))
+                res += picking_res
+            return res

From f004d90a172daf5a7ca33d3cee2859ce9f4f3b58 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Mon, 29 May 2023 13:47:55 +0200
Subject: [PATCH 19/23] [FIX] delivery_multi_destination: consider no carrier
 scenario

---
 delivery_multi_destination/models/delivery_carrier.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 738c6c162a..4accf1ffb1 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -84,7 +84,7 @@ def send_shipping(self, pickings):
         """We have to override this method for redirecting the result to the
         proper "child" carrier.
         """
-        if self.destination_type == "one":
+        if self.destination_type == "one" or not self:
             return super().send_shipping(pickings)
         else:
             carrier = self.with_context(show_children_carriers=True)

From 1e42e1249b2a10836b512c3697c3620f2bcfe079 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Wed, 10 May 2023 11:29:15 +0200
Subject: [PATCH 20/23] [FIX] delivery_multi_destination: Get properly
 subcarrier price on based 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
---
 .../models/delivery_carrier.py                       | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 4accf1ffb1..1743da1d96 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -103,13 +103,19 @@ def send_shipping(self, pickings):
                             break
                     else:
                         try:
+                            # on base_on_rule_send_shipping, the method
+                            # _get_price_available is called using p.carrier_id,
+                            # ignoring the self arg, so we need to temporarily replace
+                            # it with the subcarrier
+                            p.carrier_id = subcarrier.id
                             picking_res = super(
-                                DeliveryCarrier,
-                                subcarrier,
-                            ).send_shipping(pickings)
+                                DeliveryCarrier, subcarrier
+                            ).send_shipping(p)
                             break
                         except Exception:  # pylint: disable=except-pass
                             pass
+                        finally:
+                            p.carrier_id = carrier
                 if not picking_res:
                     raise ValidationError(_("There is no matching delivery rule."))
                 res += picking_res

From b2dcabb637dc6597230cbf92961dabb4b2a4b409 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza" <pedro.baeza@tecnativa.com>
Date: Sat, 27 May 2023 13:13:10 +0200
Subject: [PATCH 21/23] [FIX] delivery_multi_destination: Filter subdestination
 carriers from 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
---
 delivery_multi_destination/__manifest__.py    |  2 +-
 delivery_multi_destination/i18n/es.po         | 26 ++++++++-----------
 .../models/delivery_carrier.py                |  4 ++-
 3 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index f1e106eb4f..811e5042a5 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -5,7 +5,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "15.0.1.0.1",
+    "version": "15.0.1.0.2",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/i18n/es.po b/delivery_multi_destination/i18n/es.po
index 5a93edce6e..628ce1cab2 100644
--- a/delivery_multi_destination/i18n/es.po
+++ b/delivery_multi_destination/i18n/es.po
@@ -10,15 +10,15 @@ msgstr ""
 "Project-Id-Version: Odoo Server 10.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-03-13 03:45+0000\n"
-"PO-Revision-Date: 2022-04-21 16:05+0000\n"
-"Last-Translator: Pedro M. Baeza <pedro.baeza@gmail.com>\n"
+"PO-Revision-Date: 2023-10-09 07:43+0000\n"
+"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
 "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.3.2\n"
+"X-Generator: Weblate 4.17\n"
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_1
@@ -27,14 +27,13 @@ msgstr "Bélgica"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__destination_type
-#, fuzzy
 msgid "Destination Type"
 msgstr "Tipo de destino"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields,field_description:delivery_multi_destination.field_delivery_carrier__child_ids
 msgid "Destination grid"
-msgstr ""
+msgstr "Cuadrícula de destino"
 
 #. module: delivery_multi_destination
 #: model_terms:ir.ui.view,arch_db:delivery_multi_destination.view_delivery_carrier_form
@@ -51,28 +50,25 @@ msgstr "Francia"
 #: 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 "Transportes Internacionales, S.A."
+msgstr "Transportes Internacionales 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 "Transportes Internacionales, S.A."
+msgstr "Transportes Internacionales Inc., Bélgica"
 
 #. 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 "Transportes Internacionales, S.A."
+msgstr "Transportes Internacionales Inc., Francia"
 
 #. 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 "Transportes Internacionales, S.A."
+msgstr "Transporte Internacional Inc., Reino Unido"
 
 #. module: delivery_multi_destination
 #: model:ir.model.fields.selection,name:delivery_multi_destination.selection__delivery_carrier__destination_type__multi
@@ -92,13 +88,13 @@ msgstr "Transportista matriz"
 #. module: delivery_multi_destination
 #: model:ir.model,name:delivery_multi_destination.model_delivery_carrier
 msgid "Shipping Methods"
-msgstr ""
+msgstr "Métodos de Envío"
 
 #. module: delivery_multi_destination
 #: code:addons/delivery_multi_destination/models/delivery_carrier.py:0
 #, python-format
 msgid "There is no matching delivery rule."
-msgstr ""
+msgstr "No hay una regla de entrega coincidente."
 
 #. module: delivery_multi_destination
 #: model:delivery.carrier,name:delivery_multi_destination.delivery_carrier_multi_child_3
@@ -115,4 +111,4 @@ msgstr "Reino Unido"
 #: 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 ""
+msgstr "Unidades"
diff --git a/delivery_multi_destination/models/delivery_carrier.py b/delivery_multi_destination/models/delivery_carrier.py
index 1743da1d96..b6d424cdee 100644
--- a/delivery_multi_destination/models/delivery_carrier.py
+++ b/delivery_multi_destination/models/delivery_carrier.py
@@ -91,7 +91,9 @@ def send_shipping(self, pickings):
             res = []
             for p in pickings:
                 picking_res = False
-                for subcarrier in carrier.child_ids:
+                for subcarrier in carrier.child_ids.filtered(
+                    lambda x: not x.company_id or x.company_id == p.company_id
+                ):
                     if subcarrier.delivery_type == "fixed":
                         if subcarrier._match_address(p.partner_id):
                             picking_res = [

From ab040378333ac067e0296be7ab4831b2280e8bb5 Mon Sep 17 00:00:00 2001
From: GabbasovDinar <gabbasov.work@gmail.com>
Date: Mon, 17 Apr 2023 22:26:59 +0500
Subject: [PATCH 22/23] [MIG] delivery_multi_destination: Migration to 16.0

---
 delivery_multi_destination/README.rst         | 23 +++++----
 delivery_multi_destination/__manifest__.py    |  2 +-
 .../i18n/delivery_multi_destination.pot       |  2 +-
 .../static/description/index.html             | 50 ++++++++++---------
 .../tests/test_delivery_multi_destination.py  | 15 +++---
 .../views/delivery_carrier_view.xml           |  7 +--
 .../odoo/addons/delivery_multi_destination    |  1 +
 setup/delivery_multi_destination/setup.py     |  6 +++
 8 files changed, 57 insertions(+), 49 deletions(-)
 create mode 120000 setup/delivery_multi_destination/odoo/addons/delivery_multi_destination
 create mode 100644 setup/delivery_multi_destination/setup.py

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index ae723adfab..86b34e72d7 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -2,10 +2,13 @@
 Multiple destinations for the same delivery method
 ==================================================
 
-.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+.. 
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !! This file is generated by oca-gen-addon-readme !!
    !! changes will be overwritten.                   !!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !! source digest: sha256:2bae037f6463833430c93739fa098bd379b7e9307ae8b3a4f8b8e02aeb33e2e4
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
     :target: https://odoo-community.org/page/development-status
@@ -14,16 +17,16 @@ Multiple destinations for the same delivery method
     :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/15.0/delivery_multi_destination
+    :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-15-0/delivery-carrier-15-0-delivery_multi_destination
+    :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/runbot-Try%20me-875A7B.png
-    :target: https://runbot.odoo-community.org/runbot/99/15.0
-    :alt: Try me on Runbot
+.. |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| 
+|badge1| |badge2| |badge3| |badge4| |badge5|
 
 This module allows to set different price rules depending on the destination.
 
@@ -66,8 +69,8 @@ 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 smashing it by providing a detailed and welcomed
-`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+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.
 
@@ -105,6 +108,6 @@ 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/15.0/delivery_multi_destination>`_ project on GitHub.
+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.
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index 811e5042a5..e4f5d0180f 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -5,7 +5,7 @@
 
 {
     "name": "Multiple destinations for the same delivery method",
-    "version": "15.0.1.0.2",
+    "version": "16.0.1.0.2",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/i18n/delivery_multi_destination.pot b/delivery_multi_destination/i18n/delivery_multi_destination.pot
index 584fa70dac..5cd6cab5a7 100644
--- a/delivery_multi_destination/i18n/delivery_multi_destination.pot
+++ b/delivery_multi_destination/i18n/delivery_multi_destination.pot
@@ -4,7 +4,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Odoo Server 15.0\n"
+"Project-Id-Version: Odoo Server 16.0\n"
 "Report-Msgid-Bugs-To: \n"
 "Last-Translator: \n"
 "Language-Team: \n"
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
index f5753c6ed6..174ea30d76 100644
--- a/delivery_multi_destination/static/description/index.html
+++ b/delivery_multi_destination/static/description/index.html
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
 <title>Multiple destinations for the same delivery method</title>
 <style type="text/css">
 
 /*
 :Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
+:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
 :Copyright: This stylesheet has been placed in the public domain.
 
 Default cascading style sheet for the HTML output of Docutils.
 
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
 customize this style sheet.
 */
 
@@ -366,8 +366,10 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !! This file is generated by oca-gen-addon-readme !!
 !! changes will be overwritten.                   !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! source digest: sha256:2bae037f6463833430c93739fa098bd379b7e9307ae8b3a4f8b8e02aeb33e2e4
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/15.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/delivery-carrier-15-0/delivery-carrier-15-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/99/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/delivery-carrier/tree/16.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
 <p>This module allows to set different price rules depending on the destination.</p>
 <p>This module restores the concept of delivery grid, reusing the same model for
 nesting several “children” delivery methods, one per possible destination.
@@ -376,20 +378,20 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 <p><strong>Table of contents</strong></p>
 <div class="contents local topic" id="contents">
 <ul class="simple">
-<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
-<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
-<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
-<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
-<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
-<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
-<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
-<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
+<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
+<li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></li>
+<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-3">Known issues / Roadmap</a></li>
+<li><a class="reference internal" href="#bug-tracker" id="toc-entry-4">Bug Tracker</a></li>
+<li><a class="reference internal" href="#credits" id="toc-entry-5">Credits</a><ul>
+<li><a class="reference internal" href="#authors" id="toc-entry-6">Authors</a></li>
+<li><a class="reference internal" href="#contributors" id="toc-entry-7">Contributors</a></li>
+<li><a class="reference internal" href="#maintainers" id="toc-entry-8">Maintainers</a></li>
 </ul>
 </li>
 </ul>
 </div>
 <div class="section" id="configuration">
-<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
+<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
 <p>To configure delivery methods with multiple destinations:</p>
 <ol class="arabic simple">
 <li>Go to Inventory &gt; Configuration &gt; Delivery &gt; Shipping Methods</li>
@@ -401,37 +403,37 @@ <h1><a class="toc-backref" href="#id1">Configuration</a></h1>
 </ol>
 </div>
 <div class="section" id="usage">
-<h1><a class="toc-backref" href="#id2">Usage</a></h1>
+<h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
 <ol class="arabic simple">
 <li>When using the delivery method in a Sales order, delivery address will be
 used for computing the delivery price according introduced destinations.</li>
 </ol>
 </div>
 <div class="section" id="known-issues-roadmap">
-<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
+<h1><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h1>
 <ul class="simple">
 <li>Delivery prices for e-commerce (<cite>website_sale_delivery</cite> module) might need
 an extra module for handling everything properly.</li>
 </ul>
 </div>
 <div class="section" id="bug-tracker">
-<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
+<h1><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h1>
 <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/delivery-carrier/issues">GitHub Issues</a>.
 In case of trouble, please check there if your issue has already been reported.
-If you spotted it first, help us smashing it by providing a detailed and welcomed
-<a class="reference external" href="https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_multi_destination%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+<a class="reference external" href="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**">feedback</a>.</p>
 <p>Do not contact contributors directly about support or help with technical issues.</p>
 </div>
 <div class="section" id="credits">
-<h1><a class="toc-backref" href="#id5">Credits</a></h1>
+<h1><a class="toc-backref" href="#toc-entry-5">Credits</a></h1>
 <div class="section" id="authors">
-<h2><a class="toc-backref" href="#id6">Authors</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-6">Authors</a></h2>
 <ul class="simple">
 <li>Tecnativa</li>
 </ul>
 </div>
 <div class="section" id="contributors">
-<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-7">Contributors</a></h2>
 <ul class="simple">
 <li><cite>Tecnativa &lt;https://www.tecnativa.com&gt;__</cite>:<ul>
 <li>Pedro M. Baeza</li>
@@ -446,13 +448,13 @@ <h2><a class="toc-backref" href="#id7">Contributors</a></h2>
 </ul>
 </div>
 <div class="section" id="maintainers">
-<h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-8">Maintainers</a></h2>
 <p>This module is maintained by the OCA.</p>
 <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
 <p>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.</p>
-<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/15.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/delivery-carrier/tree/16.0/delivery_multi_destination">OCA/delivery-carrier</a> project on GitHub.</p>
 <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
 </div>
 </div>
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 4fc63f5d7a..616dfe8284 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -49,21 +49,21 @@ def setUpClass(cls):
         cls.product_child_2 = cls.env["product.product"].create(
             {"name": "Test child 2", "detailed_type": "service"}
         )
+        zip_prefix_child1 = cls.env["delivery.zip.prefix"].create({"name": "22222"})
+        zip_prefix_child2 = cls.env["delivery.zip.prefix"].create({"name": "33333"})
         cls.carrier_multi = cls._create_carrier(
             cls,
             (
                 {
                     "name": "Test child 1",
                     "product_id": cls.product_child_1,
-                    "zip_from": 20000,
-                    "zip_to": 29999,
+                    "zip_prefix_ids": zip_prefix_child1,
                     "fixed_price": 50,
                 },
                 {
                     "name": "Test child 2",
                     "product_id": cls.product_child_2,
-                    "zip_from": 30000,
-                    "zip_to": 39999,
+                    "zip_prefix_ids": zip_prefix_child2,
                     "fixed_price": 150,
                 },
             ),
@@ -84,17 +84,16 @@ def _create_carrier(self, childs):
         carrier_form = Form(self.env["delivery.carrier"])
         carrier_form.name = "Test carrier multi"
         carrier_form.product_id = self.product
-        carrier_form.destination_type = "multi"
         carrier_form.delivery_type = "fixed"
         carrier_form.fixed_price = 100
+        carrier_form.destination_type = "multi"
         for child_item in childs:
             with carrier_form.child_ids.new() as child_form:
                 child_form.name = child_item["name"]
                 child_form.product_id = child_item["product_id"]
                 child_form.country_ids.add(self.country_2)
                 child_form.state_ids.add(self.state)
-                child_form.zip_from = child_item["zip_from"]
-                child_form.zip_to = child_item["zip_to"]
+                child_form.zip_prefix_ids.add(child_item["zip_prefix_ids"])
                 child_form.delivery_type = "fixed"
                 child_form.fixed_price = child_item["fixed_price"]
         return carrier_form.save()
@@ -163,7 +162,7 @@ def test_picking_validation(self):
         self.sale_order.action_confirm()
         picking = self.sale_order.picking_ids
         self.assertEqual(picking.carrier_id, self.carrier_multi)
-        picking.move_lines.quantity_done = 1
+        picking.move_ids.quantity_done = 1
         picking._action_done()
         self.assertAlmostEqual(picking.carrier_price, 50)
 
diff --git a/delivery_multi_destination/views/delivery_carrier_view.xml b/delivery_multi_destination/views/delivery_carrier_view.xml
index dcfcfd1210..647d3bf3e6 100644
--- a/delivery_multi_destination/views/delivery_carrier_view.xml
+++ b/delivery_multi_destination/views/delivery_carrier_view.xml
@@ -81,11 +81,8 @@
                     invisible="not context.get('show_children_fields', False)"
                 />
                 <field
-                    name="zip_from"
-                    invisible="not context.get('show_children_fields', False)"
-                />
-                <field
-                    name="zip_to"
+                    name="zip_prefix_ids"
+                    widget="many2many_tags"
                     invisible="not context.get('show_children_fields', False)"
                 />
             </field>
diff --git a/setup/delivery_multi_destination/odoo/addons/delivery_multi_destination b/setup/delivery_multi_destination/odoo/addons/delivery_multi_destination
new file mode 120000
index 0000000000..b8af55f955
--- /dev/null
+++ b/setup/delivery_multi_destination/odoo/addons/delivery_multi_destination
@@ -0,0 +1 @@
+../../../../delivery_multi_destination
\ No newline at end of file
diff --git a/setup/delivery_multi_destination/setup.py b/setup/delivery_multi_destination/setup.py
new file mode 100644
index 0000000000..28c57bb640
--- /dev/null
+++ b/setup/delivery_multi_destination/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+    setup_requires=['setuptools-odoo'],
+    odoo_addon=True,
+)

From 4539c4c851d32a44b735266117282a7630f32f5d Mon Sep 17 00:00:00 2001
From: Carolina Fernandez <carolina.fernandez@tecnativa.com>
Date: Thu, 25 Jan 2024 09:04:31 -0300
Subject: [PATCH 23/23] [16.0][MIG] delivery_multi_destination: Continue
 Migration

---
 delivery_multi_destination/README.rst                         | 3 ++-
 delivery_multi_destination/__manifest__.py                    | 3 ++-
 delivery_multi_destination/readme/CONTRIBUTORS.rst            | 1 +
 delivery_multi_destination/static/description/index.html      | 4 ++--
 .../tests/test_delivery_multi_destination.py                  | 1 +
 5 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/delivery_multi_destination/README.rst b/delivery_multi_destination/README.rst
index 86b34e72d7..454323f7e5 100644
--- a/delivery_multi_destination/README.rst
+++ b/delivery_multi_destination/README.rst
@@ -7,7 +7,7 @@ Multiple destinations for the same delivery method
    !! This file is generated by oca-gen-addon-readme !!
    !! changes will be overwritten.                   !!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   !! source digest: sha256:2bae037f6463833430c93739fa098bd379b7e9307ae8b3a4f8b8e02aeb33e2e4
+   !! source digest: sha256:2cb9cc1f227af0d903b43f5511bdd469acf455504f9aa767342cff2c1dd7fdf5
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -90,6 +90,7 @@ Contributors
   * Pedro M. Baeza
   * Luis M. Ontalba
   * Carlos Roca
+  * Carolina Fernandez
 
 * `Dinamiche Aziendali <https://www.dinamicheaziendali.it>__`:
 
diff --git a/delivery_multi_destination/__manifest__.py b/delivery_multi_destination/__manifest__.py
index e4f5d0180f..94126db2d7 100644
--- a/delivery_multi_destination/__manifest__.py
+++ b/delivery_multi_destination/__manifest__.py
@@ -1,11 +1,12 @@
 # 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.2",
+    "version": "16.0.1.0.0",
     "category": "Delivery",
     "website": "https://github.com/OCA/delivery-carrier",
     "author": "Tecnativa, Odoo Community Association (OCA)",
diff --git a/delivery_multi_destination/readme/CONTRIBUTORS.rst b/delivery_multi_destination/readme/CONTRIBUTORS.rst
index 27389b0efb..b64f59bda1 100644
--- a/delivery_multi_destination/readme/CONTRIBUTORS.rst
+++ b/delivery_multi_destination/readme/CONTRIBUTORS.rst
@@ -3,6 +3,7 @@
   * Pedro M. Baeza
   * Luis M. Ontalba
   * Carlos Roca
+  * Carolina Fernandez
 
 * `Dinamiche Aziendali <https://www.dinamicheaziendali.it>__`:
 
diff --git a/delivery_multi_destination/static/description/index.html b/delivery_multi_destination/static/description/index.html
index 174ea30d76..1862d733b0 100644
--- a/delivery_multi_destination/static/description/index.html
+++ b/delivery_multi_destination/static/description/index.html
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
@@ -367,7 +366,7 @@ <h1 class="title">Multiple destinations for the same delivery method</h1>
 !! This file is generated by oca-gen-addon-readme !!
 !! changes will be overwritten.                   !!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! source digest: sha256:2bae037f6463833430c93739fa098bd379b7e9307ae8b3a4f8b8e02aeb33e2e4
+!! source digest: sha256:2cb9cc1f227af0d903b43f5511bdd469acf455504f9aa767342cff2c1dd7fdf5
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
 <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/delivery-carrier/tree/16.0/delivery_multi_destination"><img alt="OCA/delivery-carrier" src="https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_multi_destination"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
 <p>This module allows to set different price rules depending on the destination.</p>
@@ -439,6 +438,7 @@ <h2><a class="toc-backref" href="#toc-entry-7">Contributors</a></h2>
 <li>Pedro M. Baeza</li>
 <li>Luis M. Ontalba</li>
 <li>Carlos Roca</li>
+<li>Carolina Fernandez</li>
 </ul>
 </li>
 <li><cite>Dinamiche Aziendali &lt;https://www.dinamicheaziendali.it&gt;__</cite>:<ul>
diff --git a/delivery_multi_destination/tests/test_delivery_multi_destination.py b/delivery_multi_destination/tests/test_delivery_multi_destination.py
index 616dfe8284..696c914db0 100644
--- a/delivery_multi_destination/tests/test_delivery_multi_destination.py
+++ b/delivery_multi_destination/tests/test_delivery_multi_destination.py
@@ -86,6 +86,7 @@ def _create_carrier(self, childs):
         carrier_form.product_id = self.product
         carrier_form.delivery_type = "fixed"
         carrier_form.fixed_price = 100
+        # this needs to be done in this order
         carrier_form.destination_type = "multi"
         for child_item in childs:
             with carrier_form.child_ids.new() as child_form: