From f9c6aa08af829dd5b8389f4b29d708091a08cbc0 Mon Sep 17 00:00:00 2001 From: Sergio Teruel Date: Thu, 18 Oct 2018 09:53:32 +0200 Subject: [PATCH 01/41] [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

+ + +

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runbot

+

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

+ +
+

Usage

+

To use this module you need to:

+
    +
  1. Got to Sales > Settings > Delivery Zones
  2. +
  3. Create some delivery zones.
  4. +
  5. Go to Sales > Customers.
  6. +
  7. Go to Sales and Purchases tab.
  8. +
  9. Set a delivery zone for this partner in Delivery Zone field.
  10. +
  11. Got to Sales > Quotations
  12. +
  13. Create a quotation, automatically delivery zone field is filled. Confirm +it.
  14. +
  15. Open the picking and you can see the delivery zone in +‘Aditional Information’ tab.
  16. +
+
+
+

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

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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 @@ + + + + + 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 @@ + + + + + + + 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 0893a2d8504c1baca8f1b054874fb807eb6d1059 Mon Sep 17 00:00:00 2001 From: "antonio.pesol" Date: Tue, 4 Dec 2018 13:42:21 +0100 Subject: [PATCH 02/41] 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 9ebf80f0a6187718d84665efb508dae344b78859 Mon Sep 17 00:00:00 2001 From: "antonio.pesol" Date: Wed, 12 Dec 2018 11:35:12 +0100 Subject: [PATCH 03/41] 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. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runbot

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 @@

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.

@@ -422,12 +422,18 @@

Credits

Authors

  • Tecnativa
  • +
  • Pesol

Contributors

@@ -437,7 +443,7 @@

Maintainers

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 9888ef81693eff1028e765c1687fa545fd0acfe6 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Sun, 19 May 2019 16:20:51 +0200 Subject: [PATCH 04/41] [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