diff --git a/purchase_date_planned_manual/README.rst b/purchase_date_planned_manual/README.rst new file mode 100644 index 00000000000..05a30c11577 --- /dev/null +++ b/purchase_date_planned_manual/README.rst @@ -0,0 +1,114 @@ +============================ +Purchase Date Planned Manual +============================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:508bedba87f7e383365c6e8dccbc07be92187194cecba85a451a43f8c7eed286 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png + :target: https://odoo-community.org/page/development-status + :alt: Mature +.. |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%2Fpurchase--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/purchase-workflow/tree/18.0/purchase_date_planned_manual + :alt: OCA/purchase-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/purchase-workflow-18-0/purchase-workflow-18-0-purchase_date_planned_manual + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-workflow&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module makes the system to always respect the planned (or +scheduled) date set by the user when creating a Purchase Order. + +Additionally, this module modifies the PO views and sets in red the +lines that are predicted to arrive late compared to the scheduled date +and vendor lead time. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module you could follow any of the two options below: + +1. Go to 'Purchase' and create a purchase order. +2. Manually set the scheduled date in the PO lines. +3. This date will never be modified by the system and the lines that are + expected to be late are highlighted in red. + +Or: + +1. Create a procurement order for a product that can be bought and have + the route 'buy' activated. +2. Run the procurement. +3. Now the scheduled date in the procurement is respected even if the + line is added to a previously existing PO. + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* ForgeFlow + +Contributors +------------ + +- Lois Rilo +- Chau Le + +Other credits +------------- + +The migration of this module from 12.0 to 16.0 was financially supported +by Camptocamp + +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. + +.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px + :target: https://github.com/LoisRForgeFlow + :alt: LoisRForgeFlow + +Current `maintainer `__: + +|maintainer-LoisRForgeFlow| + +This module is part of the `OCA/purchase-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/purchase_date_planned_manual/__init__.py b/purchase_date_planned_manual/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/purchase_date_planned_manual/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/purchase_date_planned_manual/__manifest__.py b/purchase_date_planned_manual/__manifest__.py new file mode 100644 index 00000000000..c2347acaf21 --- /dev/null +++ b/purchase_date_planned_manual/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2017-25 ForgeFlow S.L. (http://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Purchase Date Planned Manual", + "summary": "This module makes the system to always respect the planned " + "(or scheduled) date in PO lines.", + "version": "18.0.1.0.0", + "development_status": "Mature", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["LoisRForgeFlow"], + "website": "https://github.com/OCA/purchase-workflow", + "category": "Purchase Management", + "depends": ["purchase_stock"], + "data": [ + "views/purchase_order_view.xml", + ], + "license": "AGPL-3", + "installable": True, + "application": False, +} diff --git a/purchase_date_planned_manual/i18n/de.po b/purchase_date_planned_manual/i18n/de.po new file mode 100644 index 00000000000..23589b33e07 --- /dev/null +++ b/purchase_date_planned_manual/i18n/de.po @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Bestellposition" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Beschaffung" + +#~ msgid "Purchase Order" +#~ msgstr "Bestellauftrag" diff --git a/purchase_date_planned_manual/i18n/es.po b/purchase_date_planned_manual/i18n/es.po new file mode 100644 index 00000000000..b16785cb82e --- /dev/null +++ b/purchase_date_planned_manual/i18n/es.po @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Línea orden de compra" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Abastecimiento" + +#~ msgid "Purchase Order" +#~ msgstr "Pedido de compra" diff --git a/purchase_date_planned_manual/i18n/es_MX.po b/purchase_date_planned_manual/i18n/es_MX.po new file mode 100644 index 00000000000..926473b0099 --- /dev/null +++ b/purchase_date_planned_manual/i18n/es_MX.po @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +# Juan González , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: Juan González , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Línea de orden de compra" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Contratación" diff --git a/purchase_date_planned_manual/i18n/fi.po b/purchase_date_planned_manual/i18n/fi.po new file mode 100644 index 00000000000..eb2b4862a4f --- /dev/null +++ b/purchase_date_planned_manual/i18n/fi.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# Timo Talvitie , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Ostotilausrivi" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Purchase Order" +#~ msgstr "Ostotilaus" diff --git a/purchase_date_planned_manual/i18n/fr.po b/purchase_date_planned_manual/i18n/fr.po new file mode 100644 index 00000000000..ab78f2f0b0f --- /dev/null +++ b/purchase_date_planned_manual/i18n/fr.po @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Ligne de commande d'achat" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Procurement" + +#~ msgid "Purchase Order" +#~ msgstr "Commande d'achat" diff --git a/purchase_date_planned_manual/i18n/fr_FR.po b/purchase_date_planned_manual/i18n/fr_FR.po new file mode 100644 index 00000000000..e906369a0da --- /dev/null +++ b/purchase_date_planned_manual/i18n/fr_FR.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/" +"fr_FR/)\n" +"Language: fr_FR\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Purchase Order" +#~ msgstr "Bon de commande" diff --git a/purchase_date_planned_manual/i18n/gl.po b/purchase_date_planned_manual/i18n/gl.po new file mode 100644 index 00000000000..8dd8bec695b --- /dev/null +++ b/purchase_date_planned_manual/i18n/gl.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# Alejandro Santana , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: Alejandro Santana , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Purchase Order" +#~ msgstr "Orde de compra" diff --git a/purchase_date_planned_manual/i18n/hr.po b/purchase_date_planned_manual/i18n/hr.po new file mode 100644 index 00000000000..cbf819081a1 --- /dev/null +++ b/purchase_date_planned_manual/i18n/hr.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Nabava" diff --git a/purchase_date_planned_manual/i18n/it.po b/purchase_date_planned_manual/i18n/it.po new file mode 100644 index 00000000000..11a01bd4880 --- /dev/null +++ b/purchase_date_planned_manual/i18n/it.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2024-06-15 19:36+0000\n" +"Last-Translator: mymage \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "Arrivo in ritardo" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "Pianificato per essere in ritardo" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Riga ordine di acquisto" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "Regola di magazzino" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" +"Questa riga è schedulata per : %s.\n" +"Comunque non è pianificata per arrivare in ritardo." + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" +"Vero se l'arrivo alla data schedulata è pianificato per essere in ritardo. " +"Tiene in considerazione il tempo di attraversamento del fornitore e il " +"margine dell'azienda per il tempi di attraversamento." + +#~ msgid "Procurement" +#~ msgstr "Approvvigionamento" + +#~ msgid "Purchase Order" +#~ msgstr "Ordine Acquisto" diff --git a/purchase_date_planned_manual/i18n/nl.po b/purchase_date_planned_manual/i18n/nl.po new file mode 100644 index 00000000000..0086f7092ca --- /dev/null +++ b/purchase_date_planned_manual/i18n/nl.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Purchase Order" +#~ msgstr "Inkooporder" diff --git a/purchase_date_planned_manual/i18n/pt_BR.po b/purchase_date_planned_manual/i18n/pt_BR.po new file mode 100644 index 00000000000..902bb0d67c9 --- /dev/null +++ b/purchase_date_planned_manual/i18n/pt_BR.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2026-01-21 16:50+0000\n" +"Last-Translator: \"Rodrigo A. Madureira\" \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "Chegando tarde" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "Planejado para chegar atrasado" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linha do Pedido de Compra" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "Regra do Estoque" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" +"Esta linha está programada para: %s.\n" +" No entanto, agora está planejado chegar atrasado." + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" +"Verdadeiro se a chegada na data agendada estiver atrasada. Leva em " +"consideração o lead time do fornecedor e a margem da empresa para os lead " +"times." + +#~ msgid "Procurement" +#~ msgstr "Aquisição" + +#~ msgid "Purchase Order" +#~ msgstr "Pedido de Compra" diff --git a/purchase_date_planned_manual/i18n/pt_PT.po b/purchase_date_planned_manual/i18n/pt_PT.po new file mode 100644 index 00000000000..95786e446ee --- /dev/null +++ b/purchase_date_planned_manual/i18n/pt_PT.po @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linha de Encomenda de Compra" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Aquisições" diff --git a/purchase_date_planned_manual/i18n/purchase_date_planned_manual.pot b/purchase_date_planned_manual/i18n/purchase_date_planned_manual.pot new file mode 100644 index 00000000000..2b919c30b76 --- /dev/null +++ b/purchase_date_planned_manual/i18n/purchase_date_planned_manual.pot @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" diff --git a/purchase_date_planned_manual/i18n/ro.po b/purchase_date_planned_manual/i18n/ro.po new file mode 100644 index 00000000000..3b2b7ae06ac --- /dev/null +++ b/purchase_date_planned_manual/i18n/ro.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# Dorin Hongu , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: Dorin Hongu , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linie comandă achiziție" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Aprovizionare" + +#~ msgid "Purchase Order" +#~ msgstr "Comandă achiziție" diff --git a/purchase_date_planned_manual/i18n/sl.po b/purchase_date_planned_manual/i18n/sl.po new file mode 100644 index 00000000000..9b6420c09a3 --- /dev/null +++ b/purchase_date_planned_manual/i18n/sl.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2021-02-24 11:45+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "Zamuja" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "Pričakovana zamuda" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Postavka nabavnega naloga" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "Pravilo zaloge" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" +"Ta postavka je načrtovana na: %s. \n" +" A zdaj je pričakovana je zamuda." + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" +"Pravilno, če se pričakuje zamuda glede na načrtovani datum. Upošteva rok " +"dobave dobavitelja in nastavitve družbe glede varnostnih razlik v rokih " +"dobave." + +#~ msgid "Procurement" +#~ msgstr "Oskrba" + +#~ msgid "Purchase Order" +#~ msgstr "Nabavni nalog" diff --git a/purchase_date_planned_manual/i18n/tr_TR.po b/purchase_date_planned_manual/i18n/tr_TR.po new file mode 100644 index 00000000000..2f3edcb228f --- /dev/null +++ b/purchase_date_planned_manual/i18n/tr_TR.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Satın alma" diff --git a/purchase_date_planned_manual/i18n/vi_VN.po b/purchase_date_planned_manual/i18n/vi_VN.po new file mode 100644 index 00000000000..0b0410dd7b8 --- /dev/null +++ b/purchase_date_planned_manual/i18n/vi_VN.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2017-06-23 00:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/" +"teams/23907/vi_VN/)\n" +"Language: vi_VN\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" + +#. module: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" + +#~ msgid "Procurement" +#~ msgstr "Mua sắm / Cung ứng" + +#~ msgid "Purchase Order" +#~ msgstr "Đơn hàng Mua" diff --git a/purchase_date_planned_manual/i18n/zh_CN.po b/purchase_date_planned_manual/i18n/zh_CN.po new file mode 100644 index 00000000000..cf954686b39 --- /dev/null +++ b/purchase_date_planned_manual/i18n/zh_CN.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_date_planned_manual +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:46+0000\n" +"PO-Revision-Date: 2019-09-17 19:24+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\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: purchase_date_planned_manual +#: model_terms:ir.ui.view,arch_db:purchase_date_planned_manual.view_purchase_order_form +msgid "Arriving late" +msgstr "迟到了" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,field_description:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "Planned to be late" +msgstr "计划迟到了" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "采购订单行" + +#. module: purchase_date_planned_manual +#: model:ir.model,name:purchase_date_planned_manual.model_stock_rule +msgid "Stock Rule" +msgstr "库存规则" + +#. module: purchase_date_planned_manual +#. odoo-python +#: code:addons/purchase_date_planned_manual/models/purchase_order.py:0 +#, python-format +msgid "" +"This line is scheduled for: %s. \n" +" However it is now planned to arrive late." +msgstr "" +"此行计划为%s。\n" +"不过,现在计划迟到了。" + +#. module: purchase_date_planned_manual +#: model:ir.model.fields,help:purchase_date_planned_manual.field_purchase_order_line__predicted_arrival_late +msgid "" +"True if the arrival at scheduled date is planned to be late. Takes into " +"account the vendor lead time and the company margin for lead times." +msgstr "" +"如果计划在预定日期到达,则为真。考虑供应商的提前期和公司的交付周期保证金。" + +#~ msgid "Procurement" +#~ msgstr "补货" diff --git a/purchase_date_planned_manual/models/__init__.py b/purchase_date_planned_manual/models/__init__.py new file mode 100644 index 00000000000..7fefd289cf6 --- /dev/null +++ b/purchase_date_planned_manual/models/__init__.py @@ -0,0 +1,2 @@ +from . import purchase_order +from . import stock_rule diff --git a/purchase_date_planned_manual/models/purchase_order.py b/purchase_date_planned_manual/models/purchase_order.py new file mode 100644 index 00000000000..6b95a5c0d3f --- /dev/null +++ b/purchase_date_planned_manual/models/purchase_order.py @@ -0,0 +1,84 @@ +# Copyright 2017-25 ForgeFlow S.L. (http://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from dateutil.relativedelta import relativedelta + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.fields import Datetime as Dt + + +class PurchaseOrderLine(models.Model): + _inherit = "purchase.order.line" + + predicted_arrival_late = fields.Boolean( + string="Planned to be late", + compute="_compute_predicted_arrival_late", + help="True if the arrival at scheduled date is planned to be late. " + "Takes into account the vendor lead time and the company margin " + "for lead times.", + ) + + @api.depends("order_id.state") + def _compute_predicted_arrival_late(self): + """Colour the lines in red if the products are predicted to arrive + late.""" + for line in self: + if line.product_id: + seller = line.product_id._select_seller( + partner_id=line.partner_id, + quantity=line.product_qty, + date=line.order_id.date_order.date(), + uom_id=line.product_uom, + ) + order_date = line.order_id.date_order + po_lead = line.order_id.company_id.po_lead + delta = po_lead + seller.delay if seller else po_lead + date_expected = order_date + relativedelta(days=delta) + line.predicted_arrival_late = ( + date_expected > line.date_planned and line.order_id.state == "draft" + ) + else: + line.predicted_arrival_late = False + + @api.model + def _get_date_planned(self, seller, po=False): + """Do not change the scheduled date if we already have one.""" + if self.date_planned: + return self.date_planned + else: + return super()._get_date_planned(seller, po) + + def action_delayed_line(self): + raise UserError( + _( + "This line is scheduled for: %s. \n However it is now planned to " + "arrive late." + ) + % Dt.to_string(Dt.context_timestamp(self, self.date_planned)) + ) + + def _find_candidate( + self, + product_id, + product_qty, + product_uom, + location_id, + name, + origin, + company_id, + values, + ): + date_planned = values.get("date_planned") + if date_planned: + self = self.filtered(lambda line: line.date_planned == date_planned) + return super()._find_candidate( + product_id, + product_qty, + product_uom, + location_id, + name, + origin, + company_id, + values, + ) diff --git a/purchase_date_planned_manual/models/stock_rule.py b/purchase_date_planned_manual/models/stock_rule.py new file mode 100644 index 00000000000..657a7ccc5ab --- /dev/null +++ b/purchase_date_planned_manual/models/stock_rule.py @@ -0,0 +1,15 @@ +# Copyright 2025 ForgeFlow, S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import api, models + + +class StockRule(models.Model): + _inherit = "stock.rule" + + @api.model + def _get_procurements_to_merge_groupby(self, procurement): + return ( + procurement.values.get("date_planned").date(), + super()._get_procurements_to_merge_groupby(procurement), + ) diff --git a/purchase_date_planned_manual/pyproject.toml b/purchase_date_planned_manual/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/purchase_date_planned_manual/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/purchase_date_planned_manual/readme/CONTRIBUTORS.md b/purchase_date_planned_manual/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..b81d399b4fc --- /dev/null +++ b/purchase_date_planned_manual/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Lois Rilo \ +- Chau Le \ diff --git a/purchase_date_planned_manual/readme/CREDITS.md b/purchase_date_planned_manual/readme/CREDITS.md new file mode 100644 index 00000000000..6a87795a34e --- /dev/null +++ b/purchase_date_planned_manual/readme/CREDITS.md @@ -0,0 +1,2 @@ +The migration of this module from 12.0 to 16.0 was financially supported +by Camptocamp diff --git a/purchase_date_planned_manual/readme/DESCRIPTION.md b/purchase_date_planned_manual/readme/DESCRIPTION.md new file mode 100644 index 00000000000..c79eaf4e443 --- /dev/null +++ b/purchase_date_planned_manual/readme/DESCRIPTION.md @@ -0,0 +1,6 @@ +This module makes the system to always respect the planned (or +scheduled) date set by the user when creating a Purchase Order. + +Additionally, this module modifies the PO views and sets in red the +lines that are predicted to arrive late compared to the scheduled date +and vendor lead time. diff --git a/purchase_date_planned_manual/readme/USAGE.md b/purchase_date_planned_manual/readme/USAGE.md new file mode 100644 index 00000000000..3c7d2199644 --- /dev/null +++ b/purchase_date_planned_manual/readme/USAGE.md @@ -0,0 +1,14 @@ +To use this module you could follow any of the two options below: + +1. Go to 'Purchase' and create a purchase order. +2. Manually set the scheduled date in the PO lines. +3. This date will never be modified by the system and the lines that + are expected to be late are highlighted in red. + +Or: + +1. Create a procurement order for a product that can be bought and have + the route 'buy' activated. +2. Run the procurement. +3. Now the scheduled date in the procurement is respected even if the + line is added to a previously existing PO. diff --git a/purchase_date_planned_manual/setup.py b/purchase_date_planned_manual/setup.py new file mode 100644 index 00000000000..00a90304a19 --- /dev/null +++ b/purchase_date_planned_manual/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=["setuptools-odoo"], + odoo_addon=True, +) diff --git a/purchase_date_planned_manual/static/description/icon.png b/purchase_date_planned_manual/static/description/icon.png new file mode 100644 index 00000000000..3a0328b516c Binary files /dev/null and b/purchase_date_planned_manual/static/description/icon.png differ diff --git a/purchase_date_planned_manual/static/description/index.html b/purchase_date_planned_manual/static/description/index.html new file mode 100644 index 00000000000..b74a7933411 --- /dev/null +++ b/purchase_date_planned_manual/static/description/index.html @@ -0,0 +1,455 @@ + + + + + +Purchase Date Planned Manual + + + +
+

Purchase Date Planned Manual

+ + +

Mature License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runboat

+

This module makes the system to always respect the planned (or +scheduled) date set by the user when creating a Purchase Order.

+

Additionally, this module modifies the PO views and sets in red the +lines that are predicted to arrive late compared to the scheduled date +and vendor lead time.

+

Table of contents

+ +
+

Usage

+

To use this module you could follow any of the two options below:

+
    +
  1. Go to ‘Purchase’ and create a purchase order.
  2. +
  3. Manually set the scheduled date in the PO lines.
  4. +
  5. This date will never be modified by the system and the lines that are +expected to be late are highlighted in red.
  6. +
+

Or:

+
    +
  1. Create a procurement order for a product that can be bought and have +the route ‘buy’ activated.
  2. +
  3. Run the procurement.
  4. +
  5. Now the scheduled date in the procurement is respected even if the +line is added to a previously existing PO.
  6. +
+
+
+

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 to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The migration of this module from 12.0 to 16.0 was financially supported +by Camptocamp

+
+
+

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.

+

Current maintainer:

+

LoisRForgeFlow

+

This module is part of the OCA/purchase-workflow project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/purchase_date_planned_manual/tests/__init__.py b/purchase_date_planned_manual/tests/__init__.py new file mode 100644 index 00000000000..e76a6a413fc --- /dev/null +++ b/purchase_date_planned_manual/tests/__init__.py @@ -0,0 +1 @@ +from . import test_date_planned_manual diff --git a/purchase_date_planned_manual/tests/test_date_planned_manual.py b/purchase_date_planned_manual/tests/test_date_planned_manual.py new file mode 100644 index 00000000000..ca0f55246d0 --- /dev/null +++ b/purchase_date_planned_manual/tests/test_date_planned_manual.py @@ -0,0 +1,256 @@ +# Copyright 2017-25 ForgeFlow S.L. (http://www.forgeflow.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from datetime import datetime, timedelta + +from odoo.exceptions import UserError +from odoo.fields import first +from odoo.tests import tagged +from odoo.tests.common import TransactionCase + + +@tagged("post_install", "-at_install") +class TestDatePlannedManual(TransactionCase): + def setUp(self): + super().setUp() + self.category = self.env["product.category"].create({"name": "Test category"}) + self.po_model = self.env["purchase.order"] + self.pol_model = self.env["purchase.order.line"] + self.pp_model = self.env["product.product"] + # Create some partner, products and supplier info: + self.route_buy_id = self.env.ref("purchase_stock.route_warehouse0_buy") + self.rule = first(self.route_buy_id.rule_ids) + self.partner = self.env["res.partner"].create( + { + "name": "Test supplier", + "supplier_rank": 1, + } + ) + + self.warehouse = self.env["stock.warehouse"].search( + [("company_id", "=", self.env.user.id)], limit=1 + ) + self.warehouse.delivery_steps = "pick_ship" + self.final_location = self.partner.property_stock_customer + + self.product_1 = self._create_product( + "Test product 1", self.category, self.partner + ) + self.product_2 = self._create_product( + "Test product 2", self.category, self.partner + ) + self.env["stock.quant"]._update_available_quantity( + self.product_1, self.warehouse.lot_stock_id, 10.0 + ) + + # Create purchase order and dates + self.purchase_order = self.po_model.create( + { + "partner_id": self.partner.id, + "picking_type_id": self.rule.picking_type_id.id, + } + ) + self.next_week_time = datetime.now() + timedelta(days=7) + + def _create_product(self, name, category, partner): + product = self.env["product.product"].create( + { + "name": name, + "type": "consu", + "is_storable": True, + "categ_id": category.id, + "seller_ids": [(0, 0, {"partner_id": partner.id, "min_qty": 1.0})], + } + ) + return product + + def test_manually_set_pol_date(self): + """Tests the manual modification of scheduled date in purchase order + lines.""" + last_week_time = datetime.now() - timedelta(days=7) + + po_line_1 = self.pol_model.create( + { + "order_id": self.purchase_order.id, + "product_id": self.product_1.id, + "date_planned": last_week_time, + "name": "Test", + "product_qty": 1.0, + "product_uom": self.product_1.uom_id.id, + "price_unit": 10.0, + } + ) + po_line_2 = self.pol_model.create( + { + "order_id": self.purchase_order.id, + "product_id": self.product_2.id, + "date_planned": self.next_week_time, + "name": "Test", + "product_qty": 10.0, + "product_uom": self.product_2.uom_id.id, + "price_unit": 20.0, + } + ) + self.assertTrue( + po_line_1.date_planned < datetime.now(), + "First test PO line should be predicted late.", + ) + self.assertFalse( + po_line_2.date_planned < datetime.now(), + "Second test PO line should not be predicted late.", + ) + self.purchase_order.button_confirm() + self.assertEqual( + po_line_1.date_planned, + last_week_time, + "Scheduled date should have benn respected.", + ) + self.assertNotEqual( + po_line_1.order_id.state, "draft", "state should not be draft'." + ) + self.assertFalse( + po_line_1.predicted_arrival_late, + "predicted_arrival_late should be false when not in " "state 'draft'.", + ) + with self.assertRaises(UserError): + po_line_1.action_delayed_line() + + def _run_procurement(self, product, origin, values): + procurement_group_obj = self.env["procurement.group"] + procurement = procurement_group_obj.Procurement( + product, + 1, + product.uom_id, + self.final_location, + False, + origin, + self.warehouse.company_id, + values, + ) + rule = procurement_group_obj._get_rule( + procurement.product_id, procurement.location_id, procurement.values + ) + self.rule._run_buy([(procurement, rule)]) + + def test_merging_of_po_lines_if_same_date_planned(self): + """When only merge PO lines if they have same date_planned""" + origin = "test_merging_of_po_lines_if_same_date_planned" + values = { + "warehouse_id": self.warehouse, + "date_planned": self.next_week_time, + } + self._run_procurement(self.product_1, origin, values) + orders = self.env["purchase.order"].search([("origin", "=", origin)]) + self.assertEqual( + len(orders.order_line), + 1, + "The PO should still have only one PO line.", + ) + self.assertEqual(orders.order_line.product_qty, 1.0) + # New procurement but 1 PO, 1 line, double qty. + self._run_procurement(self.product_1, origin, values) + orders = self.env["purchase.order"].search([("origin", "=", origin)]) + self.assertEqual( + len(orders.order_line), + 1, + "The PO should still have only one PO line.", + ) + self.assertEqual( + orders.order_line.product_qty, + 2.0, + "The qty of the PO line should have increased by 1.", + ) + self.assertEqual( + orders.order_line.date_planned, + self.next_week_time, + "The date_planned of the PO line should be the same.", + ) + + def test_no_merging_of_po_lines_if_diff_date_planned(self): + """No merge PO lines if they not have same date_planned""" + origin = "test_no_merging_of_po_lines_if_diff_date_planned" + values = { + "warehouse_id": self.warehouse, + "date_planned": self.next_week_time, + } + self._run_procurement(self.product_1, origin, values) + orders = self.env["purchase.order"].search([("origin", "=", origin)]) + self.assertEqual( + len(orders.order_line), + 1, + "The PO should still have only one PO line.", + ) + self.assertEqual(orders.order_line.product_qty, 1.0) + self.assertEqual(orders.date_planned, self.next_week_time) + # New procurement but 1 PO, 2 lines. + values["date_planned"] += timedelta(days=1) + self._run_procurement(self.product_1, origin, values) + orders = self.env["purchase.order"].search([("origin", "=", origin)]) + self.assertEqual(len(orders), 1) + self.assertEqual( + len(orders.order_line), + 2, + "A new PO line should have been create for the move.", + ) + self.assertEqual( + orders.order_line[0].date_planned, + orders.date_planned, + "The date_planned of the PO line should be the same.", + ) + self.assertEqual( + orders.order_line[1].date_planned, + orders.date_planned + timedelta(days=1), + "The date_planned of the PO line should be the same.", + ) + + def test_no_merging_of_po_lines_if_diff_date_planned_batch_procurements(self): + """No merge PO lines if they not have same date_planned. + Procurements executed together in batch.""" + origin = "test_no_merging_of_po_lines_if_diff_date_planned" + values = { + "warehouse_id": self.warehouse, + "date_planned": self.next_week_time, + } + procurement_group_obj = self.env["procurement.group"] + procurement_1 = procurement_group_obj.Procurement( + self.product_1, + 1, + self.product_1.uom_id, + self.final_location, + False, + origin, + self.warehouse.company_id, + values, + ) + values_2 = { + "warehouse_id": self.warehouse, + "date_planned": self.next_week_time + timedelta(days=1), + } + procurement_2 = procurement_group_obj.Procurement( + self.product_1, + 1, + self.product_1.uom_id, + self.final_location, + False, + origin, + self.warehouse.company_id, + values_2, + ) + rule = procurement_group_obj._get_rule( + procurement_1.product_id, procurement_1.location_id, procurement_1.values + ) + self.rule._run_buy([(procurement_1, rule), (procurement_2, rule)]) + order = self.env["purchase.order"].search([("origin", "=", origin)]) + self.assertEqual(len(order), 1) + self.assertEqual( + len(order.order_line), + 2, + ) + self.assertEqual( + order.order_line[0].date_planned, + self.next_week_time, + ) + self.assertEqual( + order.order_line[1].date_planned, + self.next_week_time + timedelta(days=1), + ) diff --git a/purchase_date_planned_manual/views/purchase_order_view.xml b/purchase_date_planned_manual/views/purchase_order_view.xml new file mode 100644 index 00000000000..6786ab8dbe0 --- /dev/null +++ b/purchase_date_planned_manual/views/purchase_order_view.xml @@ -0,0 +1,27 @@ + + + + + purchase.order.form - purchase_date_planned_manual + purchase.order + + + + +