From 70550dca0fbbfbefd4cba8ef914ff795e8e6132a Mon Sep 17 00:00:00 2001
From: Sergio Teruel
Date: Thu, 18 Oct 2018 09:53:32 +0200
Subject: [PATCH 01/27] [11.0][NEW] partner_delivery_zone: New module to group
partners, orders and pickings by delivery zones
---
partner_delivery_zone/README.rst | 97 ++++
partner_delivery_zone/__init__.py | 2 +
partner_delivery_zone/__manifest__.py | 26 +
partner_delivery_zone/i18n/es.po | 119 +++++
.../i18n/partner_delivery_zone.pot | 112 +++++
partner_delivery_zone/models/__init__.py | 6 +
.../models/partner_delivery_zone.py | 13 +
partner_delivery_zone/models/res_partner.py | 40 ++
partner_delivery_zone/models/sale_order.py | 19 +
partner_delivery_zone/models/stock_move.py | 13 +
partner_delivery_zone/models/stock_picking.py | 18 +
.../readme/CONFIGURATION.rst | 3 +
partner_delivery_zone/readme/CONTRIBUTORS.rst | 1 +
partner_delivery_zone/readme/DESCRIPTION.rst | 4 +
partner_delivery_zone/readme/ROADMAP.rst | 1 +
partner_delivery_zone/readme/USAGE.rst | 12 +
.../security/ir.model.access.csv | 4 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 446 ++++++++++++++++++
partner_delivery_zone/tests/__init__.py | 2 +
.../tests/test_partner_delivery_zone.py | 99 ++++
.../views/partner_delivery_zone_view.xml | 56 +++
.../views/report_deliveryslip.xml | 15 +
.../views/report_shipping.xml | 17 +
.../views/res_partner_view.xml | 34 ++
.../views/sale_order_view.xml | 31 ++
.../views/stock_picking_view.xml | 33 ++
27 files changed, 1223 insertions(+)
create mode 100644 partner_delivery_zone/README.rst
create mode 100644 partner_delivery_zone/__init__.py
create mode 100644 partner_delivery_zone/__manifest__.py
create mode 100644 partner_delivery_zone/i18n/es.po
create mode 100644 partner_delivery_zone/i18n/partner_delivery_zone.pot
create mode 100644 partner_delivery_zone/models/__init__.py
create mode 100644 partner_delivery_zone/models/partner_delivery_zone.py
create mode 100755 partner_delivery_zone/models/res_partner.py
create mode 100644 partner_delivery_zone/models/sale_order.py
create mode 100644 partner_delivery_zone/models/stock_move.py
create mode 100644 partner_delivery_zone/models/stock_picking.py
create mode 100644 partner_delivery_zone/readme/CONFIGURATION.rst
create mode 100644 partner_delivery_zone/readme/CONTRIBUTORS.rst
create mode 100644 partner_delivery_zone/readme/DESCRIPTION.rst
create mode 100644 partner_delivery_zone/readme/ROADMAP.rst
create mode 100644 partner_delivery_zone/readme/USAGE.rst
create mode 100644 partner_delivery_zone/security/ir.model.access.csv
create mode 100644 partner_delivery_zone/static/description/icon.png
create mode 100644 partner_delivery_zone/static/description/index.html
create mode 100644 partner_delivery_zone/tests/__init__.py
create mode 100644 partner_delivery_zone/tests/test_partner_delivery_zone.py
create mode 100755 partner_delivery_zone/views/partner_delivery_zone_view.xml
create mode 100644 partner_delivery_zone/views/report_deliveryslip.xml
create mode 100644 partner_delivery_zone/views/report_shipping.xml
create mode 100755 partner_delivery_zone/views/res_partner_view.xml
create mode 100755 partner_delivery_zone/views/sale_order_view.xml
create mode 100755 partner_delivery_zone/views/stock_picking_view.xml
diff --git a/partner_delivery_zone/README.rst b/partner_delivery_zone/README.rst
new file mode 100644
index 0000000000..348882e5b3
--- /dev/null
+++ b/partner_delivery_zone/README.rst
@@ -0,0 +1,97 @@
+=====================
+Partner Delivery Zone
+=====================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! 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/partner_delivery_zone
+ :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-partner_delivery_zone
+ :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 delivery zones on partner. This information is
+written in sale orders and stock pickings.
+It also adds searches and groups in partners, sales orders and stock pickings
+views.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Usage
+=====
+
+To use this module you need to:
+
+#. Got to *Sales > Settings > Delivery Zones*
+#. Create some delivery zones.
+#. Go to *Sales > Customers*.
+#. Go to *Sales and Purchases* tab.
+#. Set a delivery zone for this partner in *Delivery Zone* field.
+#. Got to *Sales > Quotations*
+#. Create a quotation, automatically delivery zone field is filled. Confirm
+ it.
+#. Open the picking and you can see the delivery zone in
+ 'Aditional Information' tab.
+
+Known issues / Roadmap
+======================
+
+* For the future, system can set delivery zones based on partner zip.
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub 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 `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Tecnativa
+
+Contributors
+~~~~~~~~~~~~
+
+* Sergio Teruel
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+This module is part of the `OCA/delivery-carrier `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/partner_delivery_zone/__init__.py b/partner_delivery_zone/__init__.py
new file mode 100644
index 0000000000..3275ac2adf
--- /dev/null
+++ b/partner_delivery_zone/__init__.py
@@ -0,0 +1,2 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from . import models
diff --git a/partner_delivery_zone/__manifest__.py b/partner_delivery_zone/__manifest__.py
new file mode 100644
index 0000000000..e223355d66
--- /dev/null
+++ b/partner_delivery_zone/__manifest__.py
@@ -0,0 +1,26 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+{
+ 'name': 'Partner Delivery Zone',
+ 'summary': 'Set on partners a zone for delivery goods',
+ 'version': '11.0.1.0.0',
+ 'development_status': 'Beta',
+ 'category': 'Delivery',
+ 'website': 'https://github.com/OCA/delivery-carrier',
+ 'author': 'Tecnativa, Odoo Community Association (OCA)',
+ 'license': 'AGPL-3',
+ 'application': False,
+ 'installable': True,
+ 'depends': [
+ 'sale_stock',
+ ],
+ 'data': [
+ 'security/ir.model.access.csv',
+ 'views/partner_delivery_zone_view.xml',
+ 'views/res_partner_view.xml',
+ 'views/sale_order_view.xml',
+ 'views/stock_picking_view.xml',
+ 'views/report_deliveryslip.xml',
+ 'views/report_shipping.xml',
+ ],
+}
diff --git a/partner_delivery_zone/i18n/es.po b/partner_delivery_zone/i18n/es.po
new file mode 100644
index 0000000000..15365b5b13
--- /dev/null
+++ b/partner_delivery_zone/i18n/es.po
@@ -0,0 +1,119 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * partner_delivery_zone
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-10-18 07:44+0000\n"
+"PO-Revision-Date: 2018-10-18 09:45+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.0.6\n"
+
+#. module: partner_delivery_zone
+#: model:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
+#: model:ir.ui.view,arch_db:partner_delivery_zone.report_picking
+msgid "Zone"
+msgstr "Zona"
+
+#. module: partner_delivery_zone
+#: model:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
+msgid "Click to set a new delivery zone for partners."
+msgstr "Pincha aquí para crear nuevas zonas de entrega"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_code
+msgid "Code"
+msgstr "Código"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_res_partner
+msgid "Contact"
+msgstr "Contacto"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_date
+msgid "Created on"
+msgstr "Creado el"
+
+#. module: partner_delivery_zone
+#: model:ir.actions.act_window,name:partner_delivery_zone.partner_delivery_zone_action
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking_delivery_zone_id
+#: model:ir.ui.menu,name:partner_delivery_zone.partner_delivery_zone_menu
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
+msgid "Delivery Zone"
+msgstr "Zona de entrega"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_display_name
+msgid "Display Name"
+msgstr "Nombre a mostrar"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_id
+msgid "ID"
+msgstr "ID (identificación)"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone___last_update
+msgid "Last Modified on"
+msgstr "Última modificación el"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_uid
+msgid "Last Updated by"
+msgstr "Última modificación por"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_date
+msgid "Last Updated on"
+msgstr "Última actualización el"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_sale_order
+msgid "Quotation"
+msgstr "Presupuesto"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_move
+msgid "Stock Move"
+msgstr "Movimiento de existencias"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_picking
+msgid "Transfer"
+msgstr "Transferir"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_name
+msgid "Zone"
+msgstr "Zona"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
+msgid "partner.delivery.zone"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Delivery Schedule"
+#~ msgstr "Horario"
diff --git a/partner_delivery_zone/i18n/partner_delivery_zone.pot b/partner_delivery_zone/i18n/partner_delivery_zone.pot
new file mode 100644
index 0000000000..246a0a4923
--- /dev/null
+++ b/partner_delivery_zone/i18n/partner_delivery_zone.pot
@@ -0,0 +1,112 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * partner_delivery_zone
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.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: partner_delivery_zone
+#: model:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
+#: model:ir.ui.view,arch_db:partner_delivery_zone.report_picking
+msgid "Zone"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
+msgid "Click to set a new delivery zone for partners."
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_code
+msgid "Code"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_date
+msgid "Created on"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.actions.act_window,name:partner_delivery_zone.partner_delivery_zone_action
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking_delivery_zone_id
+#: model:ir.ui.menu,name:partner_delivery_zone.partner_delivery_zone_menu
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
+#: model:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
+msgid "Delivery Zone"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_id
+msgid "ID"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone___last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_sale_order
+msgid "Quotation"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_picking
+msgid "Transfer"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_name
+msgid "Zone"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
+msgid "partner.delivery.zone"
+msgstr ""
+
diff --git a/partner_delivery_zone/models/__init__.py b/partner_delivery_zone/models/__init__.py
new file mode 100644
index 0000000000..c4f9f2fac8
--- /dev/null
+++ b/partner_delivery_zone/models/__init__.py
@@ -0,0 +1,6 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from . import partner_delivery_zone
+from . import res_partner
+from . import sale_order
+from . import stock_move
+from . import stock_picking
diff --git a/partner_delivery_zone/models/partner_delivery_zone.py b/partner_delivery_zone/models/partner_delivery_zone.py
new file mode 100644
index 0000000000..3240309cb2
--- /dev/null
+++ b/partner_delivery_zone/models/partner_delivery_zone.py
@@ -0,0 +1,13 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import fields, models
+
+
+class PartnerDeliveryZone(models.Model):
+ _name = 'partner.delivery.zone'
+
+ code = fields.Char()
+ name = fields.Char(
+ string='Zone',
+ required=True,
+ )
diff --git a/partner_delivery_zone/models/res_partner.py b/partner_delivery_zone/models/res_partner.py
new file mode 100755
index 0000000000..26b6f4d8e9
--- /dev/null
+++ b/partner_delivery_zone/models/res_partner.py
@@ -0,0 +1,40 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import api, fields, models
+from lxml import etree
+
+
+class ResPartner(models.Model):
+ _inherit = 'res.partner'
+
+ delivery_zone_id = fields.Many2one(
+ comodel_name='partner.delivery.zone',
+ string='Delivery Zone',
+ ondelete='restrict',
+ index=True,
+ )
+
+ @api.model
+ def fields_view_get(self, view_id=None, view_type='form', toolbar=False,
+ submenu=False):
+ """The purpose of this is to write a context on "child_ids" field
+ respecting other contexts on this field.
+ There is a PR (https://github.com/odoo/odoo/pull/26607) to odoo for
+ avoiding this. If merged, remove this method and add the attribute
+ in the field.
+ """
+ res = super().fields_view_get(
+ view_id=view_id, view_type=view_type, toolbar=toolbar,
+ submenu=submenu,
+ )
+ if view_type == 'form':
+ partner_xml = etree.XML(res['arch'])
+ partner_fields = partner_xml.xpath("//field[@name='child_ids']")
+ if partner_fields:
+ partner_field = partner_fields[0]
+ context = partner_field.attrib.get("context", "{}").replace(
+ "{", "{'default_delivery_zone_id': delivery_zone_id, ", 1,
+ )
+ partner_field.attrib['context'] = context
+ res['arch'] = etree.tostring(partner_xml)
+ return res
diff --git a/partner_delivery_zone/models/sale_order.py b/partner_delivery_zone/models/sale_order.py
new file mode 100644
index 0000000000..4a70554d55
--- /dev/null
+++ b/partner_delivery_zone/models/sale_order.py
@@ -0,0 +1,19 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import api, fields, models
+
+
+class SaleOrder(models.Model):
+ _inherit = 'sale.order'
+
+ delivery_zone_id = fields.Many2one(
+ comodel_name='partner.delivery.zone',
+ string="Delivery Zone",
+ ondelete='restrict',
+ index=True,
+ )
+
+ @api.onchange('partner_shipping_id')
+ def onchange_partner_shipping_id_delivery_zone(self):
+ if self.partner_shipping_id.delivery_zone_id:
+ self.delivery_zone_id = self.partner_shipping_id.delivery_zone_id
diff --git a/partner_delivery_zone/models/stock_move.py b/partner_delivery_zone/models/stock_move.py
new file mode 100644
index 0000000000..f70093f1b8
--- /dev/null
+++ b/partner_delivery_zone/models/stock_move.py
@@ -0,0 +1,13 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import models
+
+
+class StockMove(models.Model):
+ _inherit = 'stock.move'
+
+ def _get_new_picking_values(self):
+ vals = super()._get_new_picking_values()
+ vals['delivery_zone_id'] =\
+ self.sale_line_id.order_id.delivery_zone_id.id
+ return vals
diff --git a/partner_delivery_zone/models/stock_picking.py b/partner_delivery_zone/models/stock_picking.py
new file mode 100644
index 0000000000..4ebea68412
--- /dev/null
+++ b/partner_delivery_zone/models/stock_picking.py
@@ -0,0 +1,18 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import api, fields, models
+
+
+class StockPicking(models.Model):
+ _inherit = 'stock.picking'
+
+ delivery_zone_id = fields.Many2one(
+ comodel_name="partner.delivery.zone",
+ string="Delivery Zone",
+ index=True,
+ )
+
+ @api.onchange('partner_id')
+ def onchange_partner_id_zone(self):
+ if self.partner_id.delivery_zone_id:
+ self.delivery_zone_id = self.partner_id.delivery_zone_id
diff --git a/partner_delivery_zone/readme/CONFIGURATION.rst b/partner_delivery_zone/readme/CONFIGURATION.rst
new file mode 100644
index 0000000000..e40a010f83
--- /dev/null
+++ b/partner_delivery_zone/readme/CONFIGURATION.rst
@@ -0,0 +1,3 @@
+To configure this module you need to:
+
+#. Go to *Sales > Configuration> Delivery Zones* and create any zones
diff --git a/partner_delivery_zone/readme/CONTRIBUTORS.rst b/partner_delivery_zone/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000000..f24a0b0dc7
--- /dev/null
+++ b/partner_delivery_zone/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* Sergio Teruel
diff --git a/partner_delivery_zone/readme/DESCRIPTION.rst b/partner_delivery_zone/readme/DESCRIPTION.rst
new file mode 100644
index 0000000000..3a4b67e445
--- /dev/null
+++ b/partner_delivery_zone/readme/DESCRIPTION.rst
@@ -0,0 +1,4 @@
+This module allows to set delivery zones on partner. This information is
+written in sale orders and stock pickings.
+It also adds searches and groups in partners, sales orders and stock pickings
+views.
diff --git a/partner_delivery_zone/readme/ROADMAP.rst b/partner_delivery_zone/readme/ROADMAP.rst
new file mode 100644
index 0000000000..e262f52f81
--- /dev/null
+++ b/partner_delivery_zone/readme/ROADMAP.rst
@@ -0,0 +1 @@
+* For the future, system can set delivery zones based on partner zip.
diff --git a/partner_delivery_zone/readme/USAGE.rst b/partner_delivery_zone/readme/USAGE.rst
new file mode 100644
index 0000000000..98c8c73618
--- /dev/null
+++ b/partner_delivery_zone/readme/USAGE.rst
@@ -0,0 +1,12 @@
+To use this module you need to:
+
+#. Got to *Sales > Settings > Delivery Zones*
+#. Create some delivery zones.
+#. Go to *Sales > Customers*.
+#. Go to *Sales and Purchases* tab.
+#. Set a delivery zone for this partner in *Delivery Zone* field.
+#. Got to *Sales > Quotations*
+#. Create a quotation, automatically delivery zone field is filled. Confirm
+ it.
+#. Open the picking and you can see the delivery zone in
+ 'Aditional Information' tab.
diff --git a/partner_delivery_zone/security/ir.model.access.csv b/partner_delivery_zone/security/ir.model.access.csv
new file mode 100644
index 0000000000..b68f7173eb
--- /dev/null
+++ b/partner_delivery_zone/security/ir.model.access.csv
@@ -0,0 +1,4 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_partner_delivery_zone_user,access_partner_delivery_zone_user,model_partner_delivery_zone,base.group_user,1,0,0,0
+access_partner_delivery_zone_manager,access_partner_delivery_zone_manager,model_partner_delivery_zone,sales_team.group_sale_manager,1,1,1,1
+access_partner_delivery_zone_portal,partner.delivery.zone.portal,model_partner_delivery_zone,base.group_portal,1,0,0,0
diff --git a/partner_delivery_zone/static/description/icon.png b/partner_delivery_zone/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/partner_delivery_zone/static/description/index.html b/partner_delivery_zone/static/description/index.html
new file mode 100644
index 0000000000..c983c91f16
--- /dev/null
+++ b/partner_delivery_zone/static/description/index.html
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+Partner Delivery Zone
+
+
+
+
+
Partner Delivery Zone
+
+
+

+
This module allows to set delivery zones on partner. This information is
+written in sale orders and stock pickings.
+It also adds searches and groups in partners, sales orders and stock pickings
+views.
+
Table of contents
+
+
+
+
To use this module you need to:
+
+- Got to Sales > Settings > Delivery Zones
+- Create some delivery zones.
+- Go to Sales > Customers.
+- Go to Sales and Purchases tab.
+- Set a delivery zone for this partner in Delivery Zone field.
+- Got to Sales > Quotations
+- Create a quotation, automatically delivery zone field is filled. Confirm
+it.
+- Open the picking and you can see the delivery zone in
+‘Aditional Information’ tab.
+
+
+
+
+
+- For the future, system can set delivery zones based on partner zip.
+
+
+
+
+
Bugs are tracked on GitHub 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.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
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.
+
This module is part of the OCA/delivery-carrier project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/partner_delivery_zone/tests/__init__.py b/partner_delivery_zone/tests/__init__.py
new file mode 100644
index 0000000000..e182ca7d6a
--- /dev/null
+++ b/partner_delivery_zone/tests/__init__.py
@@ -0,0 +1,2 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from . import test_partner_delivery_zone
diff --git a/partner_delivery_zone/tests/test_partner_delivery_zone.py b/partner_delivery_zone/tests/test_partner_delivery_zone.py
new file mode 100644
index 0000000000..872d1f6d97
--- /dev/null
+++ b/partner_delivery_zone/tests/test_partner_delivery_zone.py
@@ -0,0 +1,99 @@
+# Copyright 2018 Tecnativa - Sergio Teruel
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo.tests import SavepointCase
+from lxml import etree
+
+
+class TestPartnerDeliveryZone(SavepointCase):
+ at_install = False
+ post_install = True
+
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ cls.delivery_zone_a = cls.env['partner.delivery.zone'].create({
+ 'name': 'Delivery Zone A',
+ 'code': '10',
+ })
+ cls.delivery_zone_b = cls.env['partner.delivery.zone'].create({
+ 'name': 'Delivery Zone A',
+ 'code': '10',
+ })
+ cls.partner = cls.env['res.partner'].create({
+ 'name': 'test',
+ 'delivery_zone_id': cls.delivery_zone_a.id
+ })
+ cls.product = cls.env['product.product'].create({
+ 'name': 'test',
+ })
+ so = cls.env['sale.order'].new({
+ 'partner_id': cls.partner.id,
+ 'order_line': [(0, 0, {
+ 'name': cls.product.name,
+ 'product_id': cls.product.id,
+ 'product_uom_qty': 10.0,
+ 'product_uom': cls.product.uom_id.id,
+ 'price_unit': 1000.00,
+ })],
+ })
+ so.onchange_partner_id()
+ so.onchange_partner_shipping_id_delivery_zone()
+ cls.order = cls.env['sale.order'].create(
+ so._convert_to_write(so._cache))
+ cls.View = cls.env['ir.ui.view']
+
+ def test_partner_child_propagate(self):
+ other_partner = self.env['res.partner'].create({
+ 'name': 'other partner',
+ 'delivery_zone_id': self.delivery_zone_b.id,
+ })
+ self.order.partner_shipping_id = other_partner
+ self.order.onchange_partner_shipping_id_delivery_zone()
+ self.assertEqual(
+ self.order.delivery_zone_id, other_partner.delivery_zone_id)
+
+ def test_sale_order_confirm(self):
+ self.order.action_confirm()
+ self.assertEqual(
+ self.order.picking_ids.delivery_zone_id,
+ self.partner.delivery_zone_id)
+
+ def test_stock_picking(self):
+ partner2 = self.env['res.partner'].create({
+ 'name': 'partner 2',
+ 'delivery_zone_id': self.delivery_zone_b.id,
+ })
+ self.order.action_confirm()
+ self.order.picking_ids.partner_id = partner2
+ self.order.picking_ids.onchange_partner_id_zone()
+ self.assertEqual(
+ self.order.picking_ids.delivery_zone_id,
+ self.delivery_zone_b)
+
+ def _get_ctx_from_view(self, res):
+ partner_xml = etree.XML(res['arch'])
+ partner_path = "//field[@name='child_ids']"
+ partner_field = partner_xml.xpath(partner_path)[0]
+ return partner_field.attrib.get("context", "{}")
+
+ def test_default_line_discount_value(self):
+ res = self.partner.fields_view_get(
+ view_id=self.env.ref('partner_delivery_zone.view_partner_form').id,
+ view_type='form')
+ ctx = self._get_ctx_from_view(res)
+ self.assertTrue('default_delivery_zone_id' in ctx)
+ view = self.View.create({
+ 'name': "test",
+ 'type': "form",
+ 'model': 'res.partner',
+ 'arch': """
+
+
+
+
+ """
+ })
+ res = self.partner.fields_view_get(view_id=view.id, view_type='form')
+ ctx = self._get_ctx_from_view(res)
+ self.assertTrue('default_delivery_zone_id' in ctx)
diff --git a/partner_delivery_zone/views/partner_delivery_zone_view.xml b/partner_delivery_zone/views/partner_delivery_zone_view.xml
new file mode 100755
index 0000000000..8fe0b66952
--- /dev/null
+++ b/partner_delivery_zone/views/partner_delivery_zone_view.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+ partner.delivery.zone.form
+ partner.delivery.zone
+
+
+
+
+
+
+ partner.delivery.zone.tree
+ partner.delivery.zone
+
+
+
+
+
+
+
+
+
+ partner.delivery.zone.tree
+ partner.delivery.zone
+
+
+
+
+
+
+
+
+
+ Delivery Zone
+ partner.delivery.zone
+ tree,form
+
+
+ Click to set a new delivery zone for partners.
+
+
+
+
+
+
diff --git a/partner_delivery_zone/views/report_deliveryslip.xml b/partner_delivery_zone/views/report_deliveryslip.xml
new file mode 100644
index 0000000000..1cb83de285
--- /dev/null
+++ b/partner_delivery_zone/views/report_deliveryslip.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ Zone |
+
+
+
+
+ |
+
+
+
diff --git a/partner_delivery_zone/views/report_shipping.xml b/partner_delivery_zone/views/report_shipping.xml
new file mode 100644
index 0000000000..a912437a58
--- /dev/null
+++ b/partner_delivery_zone/views/report_shipping.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+ Zone |
+
+
+
+
+ |
+
+
+
+
diff --git a/partner_delivery_zone/views/res_partner_view.xml b/partner_delivery_zone/views/res_partner_view.xml
new file mode 100755
index 0000000000..d2ff994d1c
--- /dev/null
+++ b/partner_delivery_zone/views/res_partner_view.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+ res.partner
+ partner delivery zone
+
+
+
+
+
+
+
+
+
+
+
+
+ res.partner
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/partner_delivery_zone/views/sale_order_view.xml b/partner_delivery_zone/views/sale_order_view.xml
new file mode 100755
index 0000000000..7050da7a0e
--- /dev/null
+++ b/partner_delivery_zone/views/sale_order_view.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ sale.order.delivery.zone.form.view
+ sale.order
+
+
+
+
+
+
+
+
+
+ sale.order
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/partner_delivery_zone/views/stock_picking_view.xml b/partner_delivery_zone/views/stock_picking_view.xml
new file mode 100755
index 0000000000..9f0cbdeab1
--- /dev/null
+++ b/partner_delivery_zone/views/stock_picking_view.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+ stock.picking
+
+
+
+
+
+
+
+
+
+
+
+ stock.picking
+
+
+
+
+
+
+
+
+
+
+
+
+
From 434cfe38da55089e30153d593e33431dbc4806f7 Mon Sep 17 00:00:00 2001
From: "antonio.pesol"
Date: Tue, 4 Dec 2018 13:42:21 +0100
Subject: [PATCH 02/27] MIG Partner Delivery Zone
---
partner_delivery_zone/README.rst | 15 ++++++++++-----
partner_delivery_zone/__manifest__.py | 4 ++--
partner_delivery_zone/models/res_partner.py | 0
partner_delivery_zone/readme/CONTRIBUTORS.rst | 5 +++++
partner_delivery_zone/views/sale_order_view.xml | 2 +-
5 files changed, 18 insertions(+), 8 deletions(-)
mode change 100755 => 100644 partner_delivery_zone/models/res_partner.py
diff --git a/partner_delivery_zone/README.rst b/partner_delivery_zone/README.rst
index 348882e5b3..03ea09d90e 100644
--- a/partner_delivery_zone/README.rst
+++ b/partner_delivery_zone/README.rst
@@ -14,16 +14,16 @@ Partner Delivery Zone
: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/partner_delivery_zone
+ :target: https://github.com/OCA/delivery-carrier/tree/12.0/partner_delivery_zone
: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-partner_delivery_zone
+ :target: https://translation.odoo-community.org/projects/delivery-carrier-12-0/delivery-carrier-12-0-partner_delivery_zone
: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|
+|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows to set delivery zones on partner. This information is
written in sale orders and stock pickings.
@@ -62,7 +62,7 @@ Bug Tracker
Bugs are tracked on `GitHub 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 `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -79,6 +79,11 @@ Contributors
* Sergio Teruel
+* `Pesol `_
+
+ * Angel Moya Pardo
+ * Antonio J Rubio Lorente
+
Maintainers
~~~~~~~~~~~
diff --git a/partner_delivery_zone/__manifest__.py b/partner_delivery_zone/__manifest__.py
index e223355d66..24a61bbd62 100644
--- a/partner_delivery_zone/__manifest__.py
+++ b/partner_delivery_zone/__manifest__.py
@@ -3,11 +3,11 @@
{
'name': 'Partner Delivery Zone',
'summary': 'Set on partners a zone for delivery goods',
- 'version': '11.0.1.0.0',
+ 'version': '12.0.1.0.0',
'development_status': 'Beta',
'category': 'Delivery',
'website': 'https://github.com/OCA/delivery-carrier',
- 'author': 'Tecnativa, Odoo Community Association (OCA)',
+ 'author': 'Tecnativa, Pesol, Odoo Community Association (OCA)',
'license': 'AGPL-3',
'application': False,
'installable': True,
diff --git a/partner_delivery_zone/models/res_partner.py b/partner_delivery_zone/models/res_partner.py
old mode 100755
new mode 100644
diff --git a/partner_delivery_zone/readme/CONTRIBUTORS.rst b/partner_delivery_zone/readme/CONTRIBUTORS.rst
index f24a0b0dc7..204b4fae3a 100644
--- a/partner_delivery_zone/readme/CONTRIBUTORS.rst
+++ b/partner_delivery_zone/readme/CONTRIBUTORS.rst
@@ -1 +1,6 @@
* Sergio Teruel
+
+* `Pesol `_
+
+ * Angel Moya Pardo
+ * Antonio J Rubio Lorente
diff --git a/partner_delivery_zone/views/sale_order_view.xml b/partner_delivery_zone/views/sale_order_view.xml
index 7050da7a0e..9f1baaf20b 100755
--- a/partner_delivery_zone/views/sale_order_view.xml
+++ b/partner_delivery_zone/views/sale_order_view.xml
@@ -18,7 +18,7 @@
sale.order
-
+
From b7ba51286a02cd1f44d01d2d7af6570a6919ec3f Mon Sep 17 00:00:00 2001
From: "antonio.pesol"
Date: Wed, 12 Dec 2018 11:35:12 +0100
Subject: [PATCH 03/27] Add delivery zone on list and kanban
---
partner_delivery_zone/README.rst | 5 +-
partner_delivery_zone/i18n/es.po | 63 ++++++++++---------
.../i18n/partner_delivery_zone.pot | 48 +++++++-------
.../static/description/index.html | 12 +++-
.../views/stock_picking_view.xml | 31 +++++++++
5 files changed, 100 insertions(+), 59 deletions(-)
diff --git a/partner_delivery_zone/README.rst b/partner_delivery_zone/README.rst
index 03ea09d90e..612fef644a 100644
--- a/partner_delivery_zone/README.rst
+++ b/partner_delivery_zone/README.rst
@@ -23,7 +23,7 @@ Partner Delivery Zone
:target: https://runbot.odoo-community.org/runbot/99/12.0
:alt: Try me on Runbot
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows to set delivery zones on partner. This information is
written in sale orders and stock pickings.
@@ -73,6 +73,7 @@ Authors
~~~~~~~
* Tecnativa
+* Pesol
Contributors
~~~~~~~~~~~~
@@ -97,6 +98,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 `_ project on GitHub.
+This module is part of the `OCA/delivery-carrier `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/partner_delivery_zone/i18n/es.po b/partner_delivery_zone/i18n/es.po
index 15365b5b13..1a2252049d 100644
--- a/partner_delivery_zone/i18n/es.po
+++ b/partner_delivery_zone/i18n/es.po
@@ -7,29 +7,29 @@ msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-18 07:44+0000\n"
-"PO-Revision-Date: 2018-10-18 09:45+0200\n"
-"Last-Translator: \n"
+"PO-Revision-Date: 2019-02-04 14:50+0000\n"
+"Last-Translator: Marta Vázquez Rodríguez \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.6\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.4\n"
#. module: partner_delivery_zone
-#: model:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
-#: model:ir.ui.view,arch_db:partner_delivery_zone.report_picking
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_picking
msgid "Zone"
msgstr "Zona"
#. module: partner_delivery_zone
-#: model:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
+#: model_terms:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
msgid "Click to set a new delivery zone for partners."
-msgstr "Pincha aquí para crear nuevas zonas de entrega"
+msgstr "Pincha aquí para crear nuevas zonas de entrega."
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_code
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__code
msgid "Code"
msgstr "Código"
@@ -39,60 +39,60 @@ msgid "Contact"
msgstr "Contacto"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_uid
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_date
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_date
msgid "Created on"
msgstr "Creado el"
#. module: partner_delivery_zone
#: model:ir.actions.act_window,name:partner_delivery_zone.partner_delivery_zone_action
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner_delivery_zone_id
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users_delivery_zone_id
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order_delivery_zone_id
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking__delivery_zone_id
#: model:ir.ui.menu,name:partner_delivery_zone.partner_delivery_zone_menu
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
msgid "Delivery Zone"
msgstr "Zona de entrega"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_display_name
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__display_name
msgid "Display Name"
msgstr "Nombre a mostrar"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__id
msgid "ID"
msgstr "ID (identificación)"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone___last_update
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone____last_update
msgid "Last Modified on"
msgstr "Última modificación el"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_uid
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_uid
msgid "Last Updated by"
msgstr "Última modificación por"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_date
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_date
msgid "Last Updated on"
msgstr "Última actualización el"
#. module: partner_delivery_zone
#: model:ir.model,name:partner_delivery_zone.model_sale_order
-msgid "Quotation"
-msgstr "Presupuesto"
+msgid "Sale Order"
+msgstr "Pedido de Venta"
#. module: partner_delivery_zone
#: model:ir.model,name:partner_delivery_zone.model_stock_move
@@ -105,14 +105,17 @@ msgid "Transfer"
msgstr "Transferir"
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_name
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__name
msgid "Zone"
msgstr "Zona"
#. module: partner_delivery_zone
#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
msgid "partner.delivery.zone"
-msgstr ""
+msgstr "'partner.delivery.zone'"
+
+#~ msgid "Quotation"
+#~ msgstr "Presupuesto"
#, fuzzy
#~ msgid "Delivery Schedule"
diff --git a/partner_delivery_zone/i18n/partner_delivery_zone.pot b/partner_delivery_zone/i18n/partner_delivery_zone.pot
index 246a0a4923..b01a80d65d 100644
--- a/partner_delivery_zone/i18n/partner_delivery_zone.pot
+++ b/partner_delivery_zone/i18n/partner_delivery_zone.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"
@@ -14,18 +14,18 @@ msgstr ""
"Plural-Forms: \n"
#. module: partner_delivery_zone
-#: model:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
-#: model:ir.ui.view,arch_db:partner_delivery_zone.report_picking
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_picking
msgid "Zone"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
+#: model_terms:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
msgid "Click to set a new delivery zone for partners."
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_code
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__code
msgid "Code"
msgstr ""
@@ -35,59 +35,59 @@ msgid "Contact"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_uid
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_uid
msgid "Created by"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_create_date
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_date
msgid "Created on"
msgstr ""
#. module: partner_delivery_zone
#: model:ir.actions.act_window,name:partner_delivery_zone.partner_delivery_zone_action
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner_delivery_zone_id
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users_delivery_zone_id
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order_delivery_zone_id
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking__delivery_zone_id
#: model:ir.ui.menu,name:partner_delivery_zone.partner_delivery_zone_menu
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
-#: model:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
msgid "Delivery Zone"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_display_name
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__display_name
msgid "Display Name"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__id
msgid "ID"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone___last_update
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone____last_update
msgid "Last Modified on"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_uid
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_uid
msgid "Last Updated by"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_write_date
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_date
msgid "Last Updated on"
msgstr ""
#. module: partner_delivery_zone
#: model:ir.model,name:partner_delivery_zone.model_sale_order
-msgid "Quotation"
+msgid "Sale Order"
msgstr ""
#. module: partner_delivery_zone
@@ -101,7 +101,7 @@ msgid "Transfer"
msgstr ""
#. module: partner_delivery_zone
-#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone_name
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__name
msgid "Zone"
msgstr ""
diff --git a/partner_delivery_zone/static/description/index.html b/partner_delivery_zone/static/description/index.html
index c983c91f16..5e04ab725f 100644
--- a/partner_delivery_zone/static/description/index.html
+++ b/partner_delivery_zone/static/description/index.html
@@ -367,7 +367,7 @@ Partner Delivery Zone
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This module allows to set delivery zones on partner. This information is
written in sale orders and stock pickings.
It also adds searches and groups in partners, sales orders and stock pickings
@@ -413,7 +413,7 @@
Bugs are tracked on GitHub 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.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -437,7 +443,7 @@
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 project on GitHub.
+
This module is part of the OCA/delivery-carrier project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/partner_delivery_zone/views/stock_picking_view.xml b/partner_delivery_zone/views/stock_picking_view.xml
index 9f0cbdeab1..6beb854fbf 100755
--- a/partner_delivery_zone/views/stock_picking_view.xml
+++ b/partner_delivery_zone/views/stock_picking_view.xml
@@ -30,4 +30,35 @@
+
+ stock.picking.delivery.kanban
+ stock.picking
+
+
+
+
+
+
+
+
+
+
+
+
+ stock.picking.delivery.tree
+ stock.picking
+
+
+
+
+
+
+
From 781e44b246291afe0d930a93fc3e6993aecdadfe Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Sun, 19 May 2019 16:20:51 +0200
Subject: [PATCH 04/27] [FIX] partner_delivery_zone: Runbot warnings
---
partner_delivery_zone/i18n/de.po | 115 ++++++++++++++++++
partner_delivery_zone/i18n/es.po | 12 +-
.../i18n/partner_delivery_zone.pot | 10 +-
partner_delivery_zone/i18n/zh_CN.po | 114 +++++++++++++++++
.../models/partner_delivery_zone.py | 1 +
.../static/description/index.html | 2 +-
.../views/stock_picking_view.xml | 2 +-
7 files changed, 244 insertions(+), 12 deletions(-)
create mode 100644 partner_delivery_zone/i18n/de.po
create mode 100644 partner_delivery_zone/i18n/zh_CN.po
diff --git a/partner_delivery_zone/i18n/de.po b/partner_delivery_zone/i18n/de.po
new file mode 100644
index 0000000000..31694e719a
--- /dev/null
+++ b/partner_delivery_zone/i18n/de.po
@@ -0,0 +1,115 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * partner_delivery_zone
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2019-10-11 10:36+0000\n"
+"Last-Translator: Maria Sparenberg \n"
+"Language-Team: none\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"
+"X-Generator: Weblate 3.8\n"
+
+#. module: partner_delivery_zone
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_picking
+msgid "Zone"
+msgstr "Zone"
+
+#. module: partner_delivery_zone
+#: model_terms:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
+msgid "Click to set a new delivery zone for partners."
+msgstr ""
+"Bitte hier klicken, um eine neue Auslieferungszone für Partner zu erstellen."
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__code
+msgid "Code"
+msgstr "Schlüssel"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_res_partner
+msgid "Contact"
+msgstr "Kontakt"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_uid
+msgid "Created by"
+msgstr "Erstellt von"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_date
+msgid "Created on"
+msgstr "Erstellt am"
+
+#. module: partner_delivery_zone
+#: model:ir.actions.act_window,name:partner_delivery_zone.partner_delivery_zone_action
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking__delivery_zone_id
+#: model:ir.ui.menu,name:partner_delivery_zone.partner_delivery_zone_menu
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
+msgid "Delivery Zone"
+msgstr "Auslieferungszone"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__display_name
+msgid "Display Name"
+msgstr "Anzeigename"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__id
+msgid "ID"
+msgstr "ID"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone____last_update
+msgid "Last Modified on"
+msgstr "Zuletzt geändert am"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_uid
+msgid "Last Updated by"
+msgstr "Zuletzt aktualisiert von"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_date
+msgid "Last Updated on"
+msgstr "Zuletzt aktualisiert am"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
+msgid "Partner delivery zone"
+msgstr "Auslieferungszone des Partners"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_sale_order
+msgid "Sale Order"
+msgstr "Verkaufsauftrag"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_move
+msgid "Stock Move"
+msgstr "Lagerbewegung"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_picking
+msgid "Transfer"
+msgstr ""
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__name
+msgid "Zone"
+msgstr "Zone"
diff --git a/partner_delivery_zone/i18n/es.po b/partner_delivery_zone/i18n/es.po
index 1a2252049d..f389b57e37 100644
--- a/partner_delivery_zone/i18n/es.po
+++ b/partner_delivery_zone/i18n/es.po
@@ -89,6 +89,13 @@ msgstr "Última modificación por"
msgid "Last Updated on"
msgstr "Última actualización el"
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
+#, fuzzy
+#| msgid "partner.delivery.zone"
+msgid "Partner delivery zone"
+msgstr "'partner.delivery.zone'"
+
#. module: partner_delivery_zone
#: model:ir.model,name:partner_delivery_zone.model_sale_order
msgid "Sale Order"
@@ -109,11 +116,6 @@ msgstr "Transferir"
msgid "Zone"
msgstr "Zona"
-#. module: partner_delivery_zone
-#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
-msgid "partner.delivery.zone"
-msgstr "'partner.delivery.zone'"
-
#~ msgid "Quotation"
#~ msgstr "Presupuesto"
diff --git a/partner_delivery_zone/i18n/partner_delivery_zone.pot b/partner_delivery_zone/i18n/partner_delivery_zone.pot
index b01a80d65d..4ccf66f5ce 100644
--- a/partner_delivery_zone/i18n/partner_delivery_zone.pot
+++ b/partner_delivery_zone/i18n/partner_delivery_zone.pot
@@ -85,6 +85,11 @@ msgstr ""
msgid "Last Updated on"
msgstr ""
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
+msgid "Partner delivery zone"
+msgstr ""
+
#. module: partner_delivery_zone
#: model:ir.model,name:partner_delivery_zone.model_sale_order
msgid "Sale Order"
@@ -105,8 +110,3 @@ msgstr ""
msgid "Zone"
msgstr ""
-#. module: partner_delivery_zone
-#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
-msgid "partner.delivery.zone"
-msgstr ""
-
diff --git a/partner_delivery_zone/i18n/zh_CN.po b/partner_delivery_zone/i18n/zh_CN.po
new file mode 100644
index 0000000000..70e7b5b739
--- /dev/null
+++ b/partner_delivery_zone/i18n/zh_CN.po
@@ -0,0 +1,114 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * partner_delivery_zone
+#
+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: partner_delivery_zone
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_delivery_document
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.report_picking
+msgid "Zone"
+msgstr "区域"
+
+#. module: partner_delivery_zone
+#: model_terms:ir.actions.act_window,help:partner_delivery_zone.partner_delivery_zone_action
+msgid "Click to set a new delivery zone for partners."
+msgstr "单击此处可为合作伙伴设置新的交货区域。"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__code
+msgid "Code"
+msgstr "代码"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_res_partner
+msgid "Contact"
+msgstr "联系人"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_uid
+msgid "Created by"
+msgstr "创建者"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__create_date
+msgid "Created on"
+msgstr "创建时间"
+
+#. module: partner_delivery_zone
+#: model:ir.actions.act_window,name:partner_delivery_zone.partner_delivery_zone_action
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_partner__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_res_users__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_sale_order__delivery_zone_id
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_stock_picking__delivery_zone_id
+#: model:ir.ui.menu,name:partner_delivery_zone.partner_delivery_zone_menu
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_form
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_partner_delivery_zone_tree
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_picking_internal_search
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_res_partner_filter
+#: model_terms:ir.ui.view,arch_db:partner_delivery_zone.view_sales_order_filter
+msgid "Delivery Zone"
+msgstr "交货区域"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__display_name
+msgid "Display Name"
+msgstr "显示名称"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__id
+msgid "ID"
+msgstr "ID"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone____last_update
+msgid "Last Modified on"
+msgstr "最后修改时间"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_uid
+msgid "Last Updated by"
+msgstr "最后更新者"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__write_date
+msgid "Last Updated on"
+msgstr "最后更新时间"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_partner_delivery_zone
+msgid "Partner delivery zone"
+msgstr "业务伙伴交货区域"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_sale_order
+msgid "Sale Order"
+msgstr "销售订单"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_move
+msgid "Stock Move"
+msgstr "库存移动"
+
+#. module: partner_delivery_zone
+#: model:ir.model,name:partner_delivery_zone.model_stock_picking
+msgid "Transfer"
+msgstr "调拨"
+
+#. module: partner_delivery_zone
+#: model:ir.model.fields,field_description:partner_delivery_zone.field_partner_delivery_zone__name
+msgid "Zone"
+msgstr "区域"
diff --git a/partner_delivery_zone/models/partner_delivery_zone.py b/partner_delivery_zone/models/partner_delivery_zone.py
index 3240309cb2..256ba813bc 100644
--- a/partner_delivery_zone/models/partner_delivery_zone.py
+++ b/partner_delivery_zone/models/partner_delivery_zone.py
@@ -5,6 +5,7 @@
class PartnerDeliveryZone(models.Model):
_name = 'partner.delivery.zone'
+ _description = 'Partner delivery zone'
code = fields.Char()
name = fields.Char(
diff --git a/partner_delivery_zone/static/description/index.html b/partner_delivery_zone/static/description/index.html
index 5e04ab725f..04dc641adb 100644
--- a/partner_delivery_zone/static/description/index.html
+++ b/partner_delivery_zone/static/description/index.html
@@ -3,7 +3,7 @@
-
+
Partner Delivery Zone