From 54af082e3292eef5baed442cfd4c3302de275b1e Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Mon, 14 Feb 2022 16:41:16 +0100 Subject: [PATCH 01/15] [ADD] edi_purchase_oca [UPD] Update edi_purchase_oca.pot [UPD] README.rst --- edi_purchase_oca/README.rst | 86 ++++ edi_purchase_oca/__init__.py | 1 + edi_purchase_oca/__manifest__.py | 15 + edi_purchase_oca/i18n/edi_purchase_oca.pot | 39 ++ edi_purchase_oca/models/__init__.py | 1 + edi_purchase_oca/models/purchase_order.py | 21 + edi_purchase_oca/readme/CONTRIBUTORS.rst | 1 + edi_purchase_oca/readme/DESCRIPTION.rst | 14 + edi_purchase_oca/static/description/icon.png | Bin 0 -> 5055 bytes .../static/description/index.html | 430 ++++++++++++++++++ .../views/edi_exchange_record_views.xml | 30 ++ .../views/purchase_order_views.xml | 28 ++ 12 files changed, 666 insertions(+) create mode 100644 edi_purchase_oca/README.rst create mode 100644 edi_purchase_oca/__init__.py create mode 100644 edi_purchase_oca/__manifest__.py create mode 100644 edi_purchase_oca/i18n/edi_purchase_oca.pot create mode 100644 edi_purchase_oca/models/__init__.py create mode 100644 edi_purchase_oca/models/purchase_order.py create mode 100644 edi_purchase_oca/readme/CONTRIBUTORS.rst create mode 100644 edi_purchase_oca/readme/DESCRIPTION.rst create mode 100644 edi_purchase_oca/static/description/icon.png create mode 100644 edi_purchase_oca/static/description/index.html create mode 100644 edi_purchase_oca/views/edi_exchange_record_views.xml create mode 100644 edi_purchase_oca/views/purchase_order_views.xml diff --git a/edi_purchase_oca/README.rst b/edi_purchase_oca/README.rst new file mode 100644 index 000000000..d54839902 --- /dev/null +++ b/edi_purchase_oca/README.rst @@ -0,0 +1,86 @@ +============ +EDI Purchase +============ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github + :target: https://github.com/OCA/edi/tree/13.0/edi_purchase_oca + :alt: OCA/edi +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/edi-13-0/edi-13-0-edi_purchase_oca + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/226/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module intends to create a base to be extended by local edi rules +for purchase. + +In order to add a new integration, you need to create a listener: + +.. code-block:: python + + class MyEventListener(Component): + _name = "purchase.order.event.listener.demo" + _inherit = "base.event.listener" + _apply_on = ["purchase.order"] + + def on_button_confirm_purchase_order(self, move): + """Add your code here""" + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Lois Rilo + +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/edi `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_purchase_oca/__init__.py b/edi_purchase_oca/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/edi_purchase_oca/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/edi_purchase_oca/__manifest__.py b/edi_purchase_oca/__manifest__.py new file mode 100644 index 000000000..c9ff3c686 --- /dev/null +++ b/edi_purchase_oca/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2022 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +{ + "name": "EDI Purchase", + "summary": """ + Define EDI Configuration for Purchase Orders""", + "version": "13.0.1.0.0", + "license": "LGPL-3", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/edi", + "depends": ["purchase", "edi", "component_event"], + "data": ["views/purchase_order_views.xml", "views/edi_exchange_record_views.xml"], + "demo": [], +} diff --git a/edi_purchase_oca/i18n/edi_purchase_oca.pot b/edi_purchase_oca/i18n/edi_purchase_oca.pot new file mode 100644 index 000000000..872766122 --- /dev/null +++ b/edi_purchase_oca/i18n/edi_purchase_oca.pot @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * edi_purchase_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.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: edi_purchase_oca +#: model_terms:ir.ui.view,arch_db:edi_purchase_oca.purchase_order_form +msgid "EDI" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.ui.menu,name:edi_purchase_oca.menu_purchase_edi_root +msgid "Exchange records" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model,name:edi_purchase_oca.model_purchase_order +msgid "Purchase Order" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.actions.act_window,name:edi_purchase_oca.act_open_edi_exchange_record_purchase_order_view +msgid "Purchase Order Exchange Record" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.ui.menu,name:edi_purchase_oca.menu_purchase_edi_exchange_record +msgid "Purchase Orders" +msgstr "" diff --git a/edi_purchase_oca/models/__init__.py b/edi_purchase_oca/models/__init__.py new file mode 100644 index 000000000..9f0353064 --- /dev/null +++ b/edi_purchase_oca/models/__init__.py @@ -0,0 +1 @@ +from . import purchase_order diff --git a/edi_purchase_oca/models/purchase_order.py b/edi_purchase_oca/models/purchase_order.py new file mode 100644 index 000000000..6ac69723e --- /dev/null +++ b/edi_purchase_oca/models/purchase_order.py @@ -0,0 +1,21 @@ +# Copyright 2022 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import models + + +class PurchaseOrder(models.Model): + _name = "purchase.order" + _inherit = ["purchase.order", "edi.exchange.consumer.mixin"] + + def button_confirm(self): + result = super().button_confirm() + if self: + self._event("on_button_confirm_purchase_order").notify(self) + return result + + def button_cancel(self): + result = super().button_cancel() + if self: + self._event("on_button_cancel_purchase_order").notify(self) + return result diff --git a/edi_purchase_oca/readme/CONTRIBUTORS.rst b/edi_purchase_oca/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..77dfbe89e --- /dev/null +++ b/edi_purchase_oca/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Lois Rilo diff --git a/edi_purchase_oca/readme/DESCRIPTION.rst b/edi_purchase_oca/readme/DESCRIPTION.rst new file mode 100644 index 000000000..9c5b5932c --- /dev/null +++ b/edi_purchase_oca/readme/DESCRIPTION.rst @@ -0,0 +1,14 @@ +This module intends to create a base to be extended by local edi rules +for purchase. + +In order to add a new integration, you need to create a listener: + +.. code-block:: python + + class MyEventListener(Component): + _name = "purchase.order.event.listener.demo" + _inherit = "base.event.listener" + _apply_on = ["purchase.order"] + + def on_button_confirm_purchase_order(self, move): + """Add your code here""" diff --git a/edi_purchase_oca/static/description/icon.png b/edi_purchase_oca/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a79752645ce327baadb6aba260751a044a5e4a8a GIT binary patch literal 5055 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 literal 0 HcmV?d00001 diff --git a/edi_purchase_oca/static/description/index.html b/edi_purchase_oca/static/description/index.html new file mode 100644 index 000000000..b7baa690b --- /dev/null +++ b/edi_purchase_oca/static/description/index.html @@ -0,0 +1,430 @@ + + + + + + +EDI Purchase + + + +
+

EDI Purchase

+ + +

Beta License: LGPL-3 OCA/edi Translate me on Weblate Try me on Runbot

+

This module intends to create a base to be extended by local edi rules +for purchase.

+

In order to add a new integration, you need to create a listener:

+
+class MyEventListener(Component):
+    _name = "purchase.order.event.listener.demo"
+    _inherit = "base.event.listener"
+    _apply_on = ["purchase.order"]
+
+    def on_button_confirm_purchase_order(self, move):
+        """Add your code here"""
+
+

Table of contents

+ +
+

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

+
    +
  • ForgeFlow
  • +
+
+ +
+

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/edi project on GitHub.

+

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

+
+
+
+ + diff --git a/edi_purchase_oca/views/edi_exchange_record_views.xml b/edi_purchase_oca/views/edi_exchange_record_views.xml new file mode 100644 index 000000000..0413585df --- /dev/null +++ b/edi_purchase_oca/views/edi_exchange_record_views.xml @@ -0,0 +1,30 @@ + + + + + + Purchase Order Exchange Record + ir.actions.act_window + edi.exchange.record + tree,form + [('model', '=', 'purchase.order')] + {} + + + + diff --git a/edi_purchase_oca/views/purchase_order_views.xml b/edi_purchase_oca/views/purchase_order_views.xml new file mode 100644 index 000000000..6e17a3a3e --- /dev/null +++ b/edi_purchase_oca/views/purchase_order_views.xml @@ -0,0 +1,28 @@ + + + + + purchase.order.form - edi_purchase_oca + purchase.order + + + + + + + + From ab0b6150eb57dd94bb9d816f564bebcbd66cde1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Alix?= Date: Wed, 6 Apr 2022 12:13:58 +0200 Subject: [PATCH 02/15] [MIG] edi_purchase_oca: Migration to 14.0 [UPD] Update edi_purchase_oca.pot [UPD] README.rst [UPD] Update edi_purchase_oca.pot [UPD] Update edi_purchase_oca.pot [UPD] Update edi_purchase_oca.pot [UPD] README.rst --- edi_purchase_oca/README.rst | 23 +++--- edi_purchase_oca/__manifest__.py | 4 +- edi_purchase_oca/i18n/edi_purchase_oca.pot | 72 ++++++++++++++++++- .../static/description/index.html | 50 ++++++------- 4 files changed, 112 insertions(+), 37 deletions(-) diff --git a/edi_purchase_oca/README.rst b/edi_purchase_oca/README.rst index d54839902..0c30581b7 100644 --- a/edi_purchase_oca/README.rst +++ b/edi_purchase_oca/README.rst @@ -2,10 +2,13 @@ EDI Purchase ============ -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:8ab40ab13f4a26ea0ba04ff19e53af88e490d1b2e783699454ae6255422e00c3 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,16 +17,16 @@ EDI Purchase :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github - :target: https://github.com/OCA/edi/tree/13.0/edi_purchase_oca + :target: https://github.com/OCA/edi/tree/14.0/edi_purchase_oca :alt: OCA/edi .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/edi-13-0/edi-13-0-edi_purchase_oca + :target: https://translation.odoo-community.org/projects/edi-14-0/edi-14-0-edi_purchase_oca :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/226/13.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/edi&target_branch=14.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module intends to create a base to be extended by local edi rules for purchase. @@ -50,8 +53,8 @@ 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 `_. +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. @@ -81,6 +84,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/edi `_ project on GitHub. +This module is part of the `OCA/edi `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_purchase_oca/__manifest__.py b/edi_purchase_oca/__manifest__.py index c9ff3c686..be446cd40 100644 --- a/edi_purchase_oca/__manifest__.py +++ b/edi_purchase_oca/__manifest__.py @@ -5,11 +5,11 @@ "name": "EDI Purchase", "summary": """ Define EDI Configuration for Purchase Orders""", - "version": "13.0.1.0.0", + "version": "14.0.1.0.0", "license": "LGPL-3", "author": "ForgeFlow, Odoo Community Association (OCA)", "website": "https://github.com/OCA/edi", - "depends": ["purchase", "edi", "component_event"], + "depends": ["purchase", "edi_oca", "component_event"], "data": ["views/purchase_order_views.xml", "views/edi_exchange_record_views.xml"], "demo": [], } diff --git a/edi_purchase_oca/i18n/edi_purchase_oca.pot b/edi_purchase_oca/i18n/edi_purchase_oca.pot index 872766122..3cf50cd17 100644 --- a/edi_purchase_oca/i18n/edi_purchase_oca.pot +++ b/edi_purchase_oca/i18n/edi_purchase_oca.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -18,11 +18,71 @@ msgstr "" msgid "EDI" msgstr "" +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__disable_edi_auto +msgid "Disable auto" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__display_name +msgid "Display Name" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__origin_edi_endpoint_id +msgid "EDI origin endpoint" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__origin_exchange_type_id +msgid "EDI origin exchange type" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__origin_exchange_record_id +msgid "EDI origin record" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,help:edi_purchase_oca.field_purchase_order__origin_exchange_record_id +msgid "EDI record that originated this document." +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__edi_config +msgid "Edi Config" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__edi_has_form_config +msgid "Edi Has Form Config" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__exchange_record_ids +msgid "Exchange Record" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__exchange_record_count +msgid "Exchange Record Count" +msgstr "" + #. module: edi_purchase_oca #: model:ir.ui.menu,name:edi_purchase_oca.menu_purchase_edi_root msgid "Exchange records" msgstr "" +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order__id +msgid "ID" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,field_description:edi_purchase_oca.field_purchase_order____last_update +msgid "Last Modified on" +msgstr "" + #. module: edi_purchase_oca #: model:ir.model,name:edi_purchase_oca.model_purchase_order msgid "Purchase Order" @@ -37,3 +97,13 @@ msgstr "" #: model:ir.ui.menu,name:edi_purchase_oca.menu_purchase_edi_exchange_record msgid "Purchase Orders" msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,help:edi_purchase_oca.field_purchase_order__origin_edi_endpoint_id +msgid "Record generated via this endpoint" +msgstr "" + +#. module: edi_purchase_oca +#: model:ir.model.fields,help:edi_purchase_oca.field_purchase_order__disable_edi_auto +msgid "When marked, EDI automatic processing will be avoided" +msgstr "" diff --git a/edi_purchase_oca/static/description/index.html b/edi_purchase_oca/static/description/index.html index b7baa690b..844cb4033 100644 --- a/edi_purchase_oca/static/description/index.html +++ b/edi_purchase_oca/static/description/index.html @@ -1,20 +1,20 @@ - + - + EDI Purchase - - -
-

EDI Purchase

- - -

Beta License: LGPL-3 OCA/edi-framework Translate me on Weblate Try me on Runboat

-

This module intends to create a base to be extended by local edi rules -for purchase.

-

In order to add a new integration, you need to create a listener:

-
-class MyEventListener(Component):
-    _name = "purchase.order.event.listener.demo"
-    _inherit = "base.event.listener"
-    _apply_on = ["purchase.order"]
-
-    def on_button_confirm_purchase_order(self, move):
-        """Add your code here"""
-
-

Table of contents

- -
-

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

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/edi-framework project on GitHub.

-

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

-
-
-
- + + + + EDI Purchase + + + +
+

EDI Purchase

+ + +

+ + Beta + + + License: LGPL-3 + + + OCA/edi-framework + + + Translate me on Weblate + + + Try me on Runboat + +

+

This module intends to create a base to be extended by local edi rules + for purchase. +

+

In order to add a new integration, you need to create a listener:

+
+                class
+                MyEventListener
+                (
+                Component
+                ):
+                
+                
+                _name
+                =
+                "purchase.order.event.listener.demo"
+                
+                
+                _inherit
+                =
+                "base.event.listener"
+                
+                
+                _apply_on
+                =
+                [
+                "purchase.order"
+                ]
+                
+
+                
+                def
+                on_button_confirm_purchase_order
+                (
+                self
+                ,
+                move
+                ):
+                
+                
+                """Add your code here"""
+            
+

+ Table of contents +

+
+ +
+
+

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

+ +
+
+

+ 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/edi-framework + + project on GitHub. +

+

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

+
+
+
+ diff --git a/edi_purchase_oca/views/purchase_order_views.xml b/edi_purchase_oca/views/purchase_order_views.xml index 6e17a3a3e..b6d4c6799 100644 --- a/edi_purchase_oca/views/purchase_order_views.xml +++ b/edi_purchase_oca/views/purchase_order_views.xml @@ -7,12 +7,22 @@ purchase.order + + + + + + + + + + + + + + + + + diff --git a/edi_purchase_oca/views/res_partner_view.xml b/edi_purchase_oca/views/res_partner_view.xml index f950cc0d3..4985d326e 100644 --- a/edi_purchase_oca/views/res_partner_view.xml +++ b/edi_purchase_oca/views/res_partner_view.xml @@ -1,11 +1,10 @@ - res.partner.edi.purchase res.partner - + From f8d1e1dda362cadb9d10748ac3b09395bd542537 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Thu, 14 May 2026 15:09:52 +0200 Subject: [PATCH 12/15] [DOC] edi_purchase: update contributors --- edi_purchase_oca/readme/CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/edi_purchase_oca/readme/CONTRIBUTORS.md b/edi_purchase_oca/readme/CONTRIBUTORS.md index a18e9df0d..1ea50d1f7 100644 --- a/edi_purchase_oca/readme/CONTRIBUTORS.md +++ b/edi_purchase_oca/readme/CONTRIBUTORS.md @@ -1,3 +1,4 @@ * Lois Rilo * Simone Orsi * Phan Hong Phuc \<\> +* Maksym Yankin \ No newline at end of file From e7ff4f8f82bb4be3f577fd9edd00818b5be7f475 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Wed, 20 May 2026 16:56:08 +0200 Subject: [PATCH 13/15] edi_purchase_oca: rework test setup --- edi_purchase_oca/tests/common.py | 13 ++----------- edi_purchase_oca/tests/test_generate.py | 2 +- edi_purchase_oca/tests/test_order.py | 11 ++++++++++- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/edi_purchase_oca/tests/common.py b/edi_purchase_oca/tests/common.py index 00f7f74e7..80d99c031 100644 --- a/edi_purchase_oca/tests/common.py +++ b/edi_purchase_oca/tests/common.py @@ -69,9 +69,9 @@ def _create_purchase_order(cls, **kw): return model.create(po_vals) @classmethod - def _setup_order(cls): + def _setup_order_records(cls): cls.vendor = cls.env["res.partner"].create( - {"name": "Azure Interior", "country_id": cls.env.company.country_id.id} + {"name": "ACME inc", "country_id": cls.env.company.country_id.id} ) cls.product = cls.env["product.product"].create( { @@ -80,12 +80,3 @@ def _setup_order(cls): "purchase_ok": True, } ) - return { - "order_line": [ - { - "product_id": cls.product.id, - "product_qty": 10, - "price_unit": 100.0, - } - ], - } diff --git a/edi_purchase_oca/tests/test_generate.py b/edi_purchase_oca/tests/test_generate.py index 1d10c3374..0f814b911 100644 --- a/edi_purchase_oca/tests/test_generate.py +++ b/edi_purchase_oca/tests/test_generate.py @@ -63,7 +63,7 @@ def setUpClass(cls): "snippet_do": cls._snippet_tpl.format(state="cancel"), } ) - cls._setup_order() + cls._setup_order_records() def test_new_order_no_conf_no_output(self): # No conf linked to the vendor -> no snippet executed. diff --git a/edi_purchase_oca/tests/test_order.py b/edi_purchase_oca/tests/test_order.py index 3285fa516..4fc5ad212 100644 --- a/edi_purchase_oca/tests/test_order.py +++ b/edi_purchase_oca/tests/test_order.py @@ -16,7 +16,16 @@ def setUpClass(cls): cls.exc_record_in = cls.backend.create_record( cls.exchange_type_in.code, {"edi_exchange_state": "input_received"} ) - order_vals = cls._setup_order() + cls._setup_order_records() + order_vals = { + "order_line": [ + { + "product_id": cls.product.id, + "product_qty": 10, + "price_unit": 100.0, + } + ], + } cls.order = cls._create_purchase_order( origin_exchange_record_id=cls.exc_record_in.id, **order_vals, From 140e9fdb5b8812f046cecc133ea2979a5b248fe0 Mon Sep 17 00:00:00 2001 From: Ricardoalso Date: Thu, 21 May 2026 13:21:01 +0200 Subject: [PATCH 14/15] [IMP] : pre-commit auto fixes --- edi_purchase_oca/README.rst | 26 +++++++++----- .../static/description/index.html | 35 ++++++++++++------- 2 files changed, 39 insertions(+), 22 deletions(-) diff --git a/edi_purchase_oca/README.rst b/edi_purchase_oca/README.rst index c86a88f7a..bc6dac5a1 100644 --- a/edi_purchase_oca/README.rst +++ b/edi_purchase_oca/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============ EDI Purchase ============ @@ -13,23 +17,27 @@ EDI Purchase .. |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-LGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi--framework-lightgray.png?logo=github - :target: https://github.com/OCA/edi-framework/tree/18.0/edi_purchase_oca + :target: https://github.com/OCA/edi-framework/tree/19.0/edi_purchase_oca :alt: OCA/edi-framework .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/edi-framework-18-0/edi-framework-18-0-edi_purchase_oca + :target: https://translation.odoo-community.org/projects/edi-framework-19-0/edi-framework-19-0-edi_purchase_oca :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/edi-framework&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/edi-framework&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module intends to create a base to be extended by local edi rules -for purchase. Assign the EDI Configuration on the partner form. +Handle purchase orders via EDI. + +This is a base module to plug purchase processes with the EDI framework. + +To handle inbound/outbound purchase orders, you need to create your own +integration modules on top of this base module. **Table of contents** @@ -42,7 +50,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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -60,8 +68,8 @@ Contributors - Lois Rilo lois.rilo@forgeflow.com - Simone Orsi simone.orsi@camptocamp.com - - Phan Hong Phuc +- Maksym Yankin maksym.yankin@camptocamp.com Maintainers ----------- @@ -76,6 +84,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/edi-framework `_ project on GitHub. +This module is part of the `OCA/edi-framework `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/edi_purchase_oca/static/description/index.html b/edi_purchase_oca/static/description/index.html index f8825ba72..276344d74 100644 --- a/edi_purchase_oca/static/description/index.html +++ b/edi_purchase_oca/static/description/index.html @@ -3,7 +3,7 @@ -EDI Purchase +README.rst -
-

EDI Purchase

+
+ + +Odoo Community Association + +
+

EDI Purchase

-

Beta License: LGPL-3 OCA/edi-framework Translate me on Weblate Try me on Runboat

-

This module intends to create a base to be extended by local edi rules -for purchase. Assign the EDI Configuration on the partner form.

+

Beta License: LGPL-3 OCA/edi-framework Translate me on Weblate Try me on Runboat

+

Handle purchase orders via EDI.

+

This is a base module to plug purchase processes with the EDI framework.

+

To handle inbound/outbound purchase orders, you need to create your own +integration modules on top of this base module.

Table of contents

    @@ -385,32 +392,33 @@

    EDI Purchase

-

Bug Tracker

+

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.

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • ForgeFlow
  • Camptocamp
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -418,10 +426,11 @@

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/edi-framework project on GitHub.

+

This module is part of the OCA/edi-framework project on GitHub.

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

+
From 0cd9e3c23dd075beb9ed5ec59b2b555f9100d9ae Mon Sep 17 00:00:00 2001 From: Ricardoalso Date: Thu, 21 May 2026 13:46:10 +0200 Subject: [PATCH 15/15] [MIG] edi_purchase_oca: Migration to 19.0 --- edi_purchase_oca/__manifest__.py | 2 +- edi_purchase_oca/tests/common.py | 9 +++++---- edi_purchase_oca/tests/test_generate.py | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/edi_purchase_oca/__manifest__.py b/edi_purchase_oca/__manifest__.py index 211961ea0..0155df0e9 100644 --- a/edi_purchase_oca/__manifest__.py +++ b/edi_purchase_oca/__manifest__.py @@ -5,7 +5,7 @@ "name": "EDI Purchase", "summary": """ Define EDI Configuration for Purchase Orders""", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "license": "LGPL-3", "author": "ForgeFlow, Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/edi-framework", diff --git a/edi_purchase_oca/tests/common.py b/edi_purchase_oca/tests/common.py index 80d99c031..3a921bacb 100644 --- a/edi_purchase_oca/tests/common.py +++ b/edi_purchase_oca/tests/common.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import fields -from odoo.fields import Command +from odoo.fields import Command, Domain from odoo.addons.edi_core_oca.tests.common import EDIBackendTestMixin @@ -11,7 +11,7 @@ class PurchaseEDIBackendTestMixin(EDIBackendTestMixin): @classmethod def _get_backend_type(cls): backend_type = cls.env["edi.backend.type"].search( - [("code", "=", "purchase_demo")], limit=1 + Domain([("code", "=", "purchase_demo")]), limit=1 ) if backend_type: return backend_type @@ -26,7 +26,7 @@ def _get_backend_type(cls): def _get_backend(cls): backend_type = cls._get_backend_type() backend = cls.env["edi.backend"].search( - [("backend_type_id", "=", backend_type.id)], limit=1 + Domain([("backend_type_id", "=", backend_type.id)]), limit=1 ) if backend: return backend @@ -43,7 +43,8 @@ def _create_exchange_type(cls, **kw): code = kw.get("code") if code: exchange_type = model.search( - [("code", "=", code), ("backend_id", "=", cls.backend.id)], limit=1 + Domain([("code", "=", code), ("backend_id", "=", cls.backend.id)]), + limit=1, ) if exchange_type: return exchange_type diff --git a/edi_purchase_oca/tests/test_generate.py b/edi_purchase_oca/tests/test_generate.py index 0f814b911..c3ae45525 100644 --- a/edi_purchase_oca/tests/test_generate.py +++ b/edi_purchase_oca/tests/test_generate.py @@ -29,6 +29,7 @@ class TestGenerateViaConf(TransactionCase, PurchaseEDIBackendTestMixin, OrderMix @classmethod def setUpClass(cls): super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) cls._setup_env() cls._setup_records()