From a65062efaa581027c4cb8131d1f2d1b53db8ed6a Mon Sep 17 00:00:00 2001 From: thien Date: Thu, 18 Jul 2024 10:49:06 +0700 Subject: [PATCH] [UPD] edi_purchase_oca: Update for edi configuration --- edi_purchase_oca/__init__.py | 1 + edi_purchase_oca/__manifest__.py | 7 +- edi_purchase_oca/components/__init__.py | 1 + .../components/listener_purchase_order.py | 19 ++++ edi_purchase_oca/data/edi_configuration.xml | 8 +- edi_purchase_oca/models/__init__.py | 2 + edi_purchase_oca/models/edi_configuration.py | 15 +++ edi_purchase_oca/models/purchase_order.py | 13 ++- edi_purchase_oca/models/res_partner.py | 3 +- edi_purchase_oca/tests/__init__.py | 1 + .../tests/test_edi_configuration.py | 92 +++++++++++++++++++ edi_purchase_oca/views/res_partner_view.xml | 16 ++-- 12 files changed, 160 insertions(+), 18 deletions(-) create mode 100644 edi_purchase_oca/components/__init__.py create mode 100644 edi_purchase_oca/components/listener_purchase_order.py create mode 100644 edi_purchase_oca/models/edi_configuration.py create mode 100644 edi_purchase_oca/tests/__init__.py create mode 100644 edi_purchase_oca/tests/test_edi_configuration.py diff --git a/edi_purchase_oca/__init__.py b/edi_purchase_oca/__init__.py index 0650744f6b..0f00a6730d 100644 --- a/edi_purchase_oca/__init__.py +++ b/edi_purchase_oca/__init__.py @@ -1 +1,2 @@ from . import models +from . import components diff --git a/edi_purchase_oca/__manifest__.py b/edi_purchase_oca/__manifest__.py index be446cd404..46c835cab4 100644 --- a/edi_purchase_oca/__manifest__.py +++ b/edi_purchase_oca/__manifest__.py @@ -10,6 +10,11 @@ "author": "ForgeFlow, Odoo Community Association (OCA)", "website": "https://github.com/OCA/edi", "depends": ["purchase", "edi_oca", "component_event"], - "data": ["views/purchase_order_views.xml", "views/edi_exchange_record_views.xml"], + "data": [ + "views/purchase_order_views.xml", + "views/edi_exchange_record_views.xml", + "views/res_partner_view.xml", + "data/edi_configuration.xml", + ], "demo": [], } diff --git a/edi_purchase_oca/components/__init__.py b/edi_purchase_oca/components/__init__.py new file mode 100644 index 0000000000..3d4a3c96a2 --- /dev/null +++ b/edi_purchase_oca/components/__init__.py @@ -0,0 +1 @@ +from . import listener_purchase_order diff --git a/edi_purchase_oca/components/listener_purchase_order.py b/edi_purchase_oca/components/listener_purchase_order.py new file mode 100644 index 0000000000..07b29c1daa --- /dev/null +++ b/edi_purchase_oca/components/listener_purchase_order.py @@ -0,0 +1,19 @@ +# Copyright 2024 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.addons.component.core import Component + + +class EDIConfigPurchaseListener(Component): + _name = "edi.listener.config.purchase.order" + _inherit = "edi.component.listener.config" + _apply_on = ["purchase.order"] + + def on_button_confirm_purchase_order(self, record): + trigger = "on_button_confirm_purchase_order" + for rec in record: + confs = self.env["edi.configuration"].edi_get_conf( + trigger, rec._name, rec.partner_id + ) + for conf in confs: + conf.edi_exec_snippet_do(rec) diff --git a/edi_purchase_oca/data/edi_configuration.xml b/edi_purchase_oca/data/edi_configuration.xml index 68cb404eab..00ee49a68b 100644 --- a/edi_purchase_oca/data/edi_configuration.xml +++ b/edi_purchase_oca/data/edi_configuration.xml @@ -6,14 +6,14 @@ on_button_confirm_purchase_order - result={ - "snippet_var_do": {} - } +result={ + "snippet_var_do": {} +} - Send EDI Quoctation Config + Send EDI Quotation Config send_via_email_rfq send_via_email_rfq + res.partner.form.inherit.sales_purchases res.partner - - - - + + + + + +