From 71495503d443503ef0921b01a40206628663ce19 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Wed, 15 Sep 2021 16:43:36 +0200 Subject: [PATCH 01/33] Add edi_endpoint_oca --- edi_endpoint_oca/README.rst | 1 + edi_endpoint_oca/__init__.py | 2 + edi_endpoint_oca/__manifest__.py | 23 ++++++ edi_endpoint_oca/controllers/__init__.py | 1 + edi_endpoint_oca/controllers/main.py | 13 ++++ edi_endpoint_oca/demo/edi_backend_demo.xml | 30 +++++++ edi_endpoint_oca/models/__init__.py | 3 + edi_endpoint_oca/models/edi_backend.py | 36 +++++++++ edi_endpoint_oca/models/edi_backend_type.py | 17 ++++ edi_endpoint_oca/models/edi_endpoint.py | 78 +++++++++++++++++++ edi_endpoint_oca/readme/CONFIGURE.rst | 1 + edi_endpoint_oca/readme/CONTRIBUTORS.rst | 1 + edi_endpoint_oca/readme/DESCRIPTION.rst | 1 + edi_endpoint_oca/security/ir.model.access.csv | 2 + edi_endpoint_oca/tests/__init__.py | 2 + edi_endpoint_oca/tests/test_edi_endpoint.py | 29 +++++++ .../tests/test_edi_endpoint_controller.py | 23 ++++++ edi_endpoint_oca/views/edi_backend_views.xml | 21 +++++ edi_endpoint_oca/views/edi_endpoint_views.xml | 69 ++++++++++++++++ 19 files changed, 353 insertions(+) create mode 100644 edi_endpoint_oca/README.rst create mode 100644 edi_endpoint_oca/__init__.py create mode 100644 edi_endpoint_oca/__manifest__.py create mode 100644 edi_endpoint_oca/controllers/__init__.py create mode 100644 edi_endpoint_oca/controllers/main.py create mode 100644 edi_endpoint_oca/demo/edi_backend_demo.xml create mode 100644 edi_endpoint_oca/models/__init__.py create mode 100644 edi_endpoint_oca/models/edi_backend.py create mode 100644 edi_endpoint_oca/models/edi_backend_type.py create mode 100644 edi_endpoint_oca/models/edi_endpoint.py create mode 100644 edi_endpoint_oca/readme/CONFIGURE.rst create mode 100644 edi_endpoint_oca/readme/CONTRIBUTORS.rst create mode 100644 edi_endpoint_oca/readme/DESCRIPTION.rst create mode 100644 edi_endpoint_oca/security/ir.model.access.csv create mode 100644 edi_endpoint_oca/tests/__init__.py create mode 100644 edi_endpoint_oca/tests/test_edi_endpoint.py create mode 100644 edi_endpoint_oca/tests/test_edi_endpoint_controller.py create mode 100644 edi_endpoint_oca/views/edi_backend_views.xml create mode 100644 edi_endpoint_oca/views/edi_endpoint_views.xml diff --git a/edi_endpoint_oca/README.rst b/edi_endpoint_oca/README.rst new file mode 100644 index 000000000..89bcd6c21 --- /dev/null +++ b/edi_endpoint_oca/README.rst @@ -0,0 +1 @@ +wait for the bot ;) diff --git a/edi_endpoint_oca/__init__.py b/edi_endpoint_oca/__init__.py new file mode 100644 index 000000000..91c5580fe --- /dev/null +++ b/edi_endpoint_oca/__init__.py @@ -0,0 +1,2 @@ +from . import controllers +from . import models diff --git a/edi_endpoint_oca/__manifest__.py b/edi_endpoint_oca/__manifest__.py new file mode 100644 index 000000000..77cd2aeae --- /dev/null +++ b/edi_endpoint_oca/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +{ + "name": "EDI endpoint", + "summary": """ + Base module allowing configuration of custom endpoints for EDI framework. + """, + "version": "14.0.1.0.0", + "development_status": "Alpha", + "license": "LGPL-3", + "website": "https://github.com/OCA/edi", + "author": "Camptocamp,Odoo Community Association (OCA)", + "depends": ["base_edi", "edi_oca", "endpoint"], + "data": [ + "demo/edi_backend_demo.xml", + "security/ir.model.access.csv", + "views/edi_backend_views.xml", + "views/edi_endpoint_views.xml", + ], + "demo": ["demo/edi_backend_demo.xml"], +} diff --git a/edi_endpoint_oca/controllers/__init__.py b/edi_endpoint_oca/controllers/__init__.py new file mode 100644 index 000000000..12a7e529b --- /dev/null +++ b/edi_endpoint_oca/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/edi_endpoint_oca/controllers/main.py b/edi_endpoint_oca/controllers/main.py new file mode 100644 index 000000000..ff966b03e --- /dev/null +++ b/edi_endpoint_oca/controllers/main.py @@ -0,0 +1,13 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo import http + +from odoo.addons.endpoint.controllers.main import EndpointControllerMixin + + +class EDIEndpointController(http.Controller, EndpointControllerMixin): + def _find_endpoint(self, env, endpoint_route): + return env["edi.endpoint"]._find_endpoint(endpoint_route) diff --git a/edi_endpoint_oca/demo/edi_backend_demo.xml b/edi_endpoint_oca/demo/edi_backend_demo.xml new file mode 100644 index 000000000..871d0d307 --- /dev/null +++ b/edi_endpoint_oca/demo/edi_backend_demo.xml @@ -0,0 +1,30 @@ + + + + EDI backend with endpoints DEMO + + + + + EDI exchange demo + demo_endpoint + + input + + + + + + + EDI Demo Endpoint 1 + + /demo/try + GET + code + +record = endpoint.create_exchange_record() +result = {"response": Response("Created record: %s" % record.identifier)} + + + + diff --git a/edi_endpoint_oca/models/__init__.py b/edi_endpoint_oca/models/__init__.py new file mode 100644 index 000000000..ae81989d9 --- /dev/null +++ b/edi_endpoint_oca/models/__init__.py @@ -0,0 +1,3 @@ +from . import edi_backend +from . import edi_backend_type +from . import edi_endpoint diff --git a/edi_endpoint_oca/models/edi_backend.py b/edi_endpoint_oca/models/edi_backend.py new file mode 100644 index 000000000..89e0bf704 --- /dev/null +++ b/edi_endpoint_oca/models/edi_backend.py @@ -0,0 +1,36 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import api, fields, models + + +class EDIBackend(models.Model): + + _inherit = "edi.backend" + + endpoint_ids = fields.One2many( + string="Endpoints", + comodel_name="edi.endpoint", + inverse_name="backend_id", + ) + endpoints_count = fields.Integer(compute="_compute_endpoints_count") + + @api.depends("endpoint_ids") + def _compute_endpoints_count(self): + for record in self: + record.endpoints_count = len(record.endpoint_ids) + + def action_manage_endpoints(self): + action = self.env.ref("edi_endpoint_oca.edi_endpoint_act_window").read()[0] + action["domain"] = [ + ("backend_type_id", "=", self.backend_type_id), + "|", + ("backend_id", "=", False), + ("backend_id", "=", self.id), + ] + action["context"] = { + "default_backend_id": self.id, + "default_backend_type_id": self.backend_type_id.id, + } + return action diff --git a/edi_endpoint_oca/models/edi_backend_type.py b/edi_endpoint_oca/models/edi_backend_type.py new file mode 100644 index 000000000..178c9d4c2 --- /dev/null +++ b/edi_endpoint_oca/models/edi_backend_type.py @@ -0,0 +1,17 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +# TODO add view +class EDIBackendType(models.Model): + + _inherit = "edi.backend.type" + + endpoint_ids = fields.One2many( + string="Endpoints", + comodel_name="edi.endpoint", + inverse_name="backend_type_id", + ) diff --git a/edi_endpoint_oca/models/edi_endpoint.py b/edi_endpoint_oca/models/edi_endpoint.py new file mode 100644 index 000000000..03c74ea9d --- /dev/null +++ b/edi_endpoint_oca/models/edi_endpoint.py @@ -0,0 +1,78 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from functools import partial + +import werkzeug + +from odoo import _, api, exceptions, fields, models + +from ..controllers.main import EDIEndpointController + + +class EDIEndpoint(models.Model): + """EDI endpoint. + + Manage endpoints used within EDI framework. + """ + + _name = "edi.endpoint" + _inherit = "endpoint.mixin" + _description = "EDI Endpoint" + + _endpoint_route_prefix = "/edi" + + backend_type_id = fields.Many2one( + comodel_name="edi.backend.type", + required=True, + ) + # Leave these as not required to allow pre-configuration of endpoints by backend type + backend_id = fields.Many2one( + comodel_name="edi.backend", domain="[('backend_type_id','=', backend_type_id)]" + ) + exchange_type_id = fields.Many2one( + comodel_name="edi.exchange.type", + domain="[('backend_type_id','=', backend_type_id)]", + ) + + # TODO: add unit tests + + def create_exchange_record(self, file_content=None, **vals): + """Create an EDI exchange record from current endpoint. + + Just a shortcut. + """ + self._check_endpoint_ready() + rec = self.backend_id.create_record(self.exchange_type_id.code, vals) + if file_content: + rec._set_file_content(file_content) + return rec + + def _check_endpoint_ready(self, request=False): + if not self.backend_id or not self.exchange_type_id: + msg = _("Backend and exchange type are mandatory") + if request: + self._logger.error(msg) + raise werkzeug.exceptions.BadRequest("Endpoint mis-configured") + else: + raise exceptions.UserError(msg) + + @api.constrains("exchange_type_id", "backend_type_id") + def _check_backend_type(self): + for rec in self: + if ( + rec.backend_type_id + and rec.exchange_type_id + and not rec.backend_type_id == rec.exchange_type_id.backend_type_id + ): + raise exceptions.UserError( + _("Exchange type not compatible with selected backend type.") + ) + + def _handle_request(self, request): + self._check_endpoint_ready(request=True) + return super()._handle_request(request) + + def _default_endpoint_handler(self): + return partial(EDIEndpointController().auto_endpoint, self.route) diff --git a/edi_endpoint_oca/readme/CONFIGURE.rst b/edi_endpoint_oca/readme/CONFIGURE.rst new file mode 100644 index 000000000..dc2d05dbb --- /dev/null +++ b/edi_endpoint_oca/readme/CONFIGURE.rst @@ -0,0 +1 @@ +Go to "EDI -> Config -> Endpoints". diff --git a/edi_endpoint_oca/readme/CONTRIBUTORS.rst b/edi_endpoint_oca/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..f1c71bce1 --- /dev/null +++ b/edi_endpoint_oca/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Simone Orsi diff --git a/edi_endpoint_oca/readme/DESCRIPTION.rst b/edi_endpoint_oca/readme/DESCRIPTION.rst new file mode 100644 index 000000000..e7951c873 --- /dev/null +++ b/edi_endpoint_oca/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Base module allowing configuration of custom endpoints for EDI framework. diff --git a/edi_endpoint_oca/security/ir.model.access.csv b/edi_endpoint_oca/security/ir.model.access.csv new file mode 100644 index 000000000..9ba995456 --- /dev/null +++ b/edi_endpoint_oca/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_edi_endpoint_edit,edi_endpoint edit,model_edi_endpoint,base_edi.group_edi_manager,1,1,1,1 diff --git a/edi_endpoint_oca/tests/__init__.py b/edi_endpoint_oca/tests/__init__.py new file mode 100644 index 000000000..e93f5885e --- /dev/null +++ b/edi_endpoint_oca/tests/__init__.py @@ -0,0 +1,2 @@ +from . import test_edi_endpoint +from . import test_edi_endpoint_controller diff --git a/edi_endpoint_oca/tests/test_edi_endpoint.py b/edi_endpoint_oca/tests/test_edi_endpoint.py new file mode 100644 index 000000000..188e67957 --- /dev/null +++ b/edi_endpoint_oca/tests/test_edi_endpoint.py @@ -0,0 +1,29 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo.addons.endpoint.tests.common import CommonEndpoint + + +class TestEndpoint(CommonEndpoint): + @classmethod + def _setup_records(cls): + super()._setup_records() + cls.endpoint = cls.env.ref("edi_endpoint_oca.edi_endpoint_demo_1") + + def test_endpoint_find(self): + self.assertEqual( + self.env["edi.endpoint"]._find_endpoint("/edi/demo/try"), self.endpoint + ) + + def test_exchange_record(self): + self.endpoint.create_exchange_record() + + def test_route(self): + rec = self.endpoint.copy( + { + "route": "/noprefix", + } + ) + self.assertEqual(rec.route, "/edi/noprefix") diff --git a/edi_endpoint_oca/tests/test_edi_endpoint_controller.py b/edi_endpoint_oca/tests/test_edi_endpoint_controller.py new file mode 100644 index 000000000..88314e681 --- /dev/null +++ b/edi_endpoint_oca/tests/test_edi_endpoint_controller.py @@ -0,0 +1,23 @@ +# Copyright 2021 Camptcamp SA +# @author: Simone Orsi +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import os +import unittest + +from odoo.tests.common import HttpCase + + +@unittest.skipIf(os.getenv("SKIP_HTTP_CASE"), "EDIEndpointHttpCase skipped") +class EDIEndpointHttpCase(HttpCase): + def setUp(self): + super().setUp() + + def test_call1(self): + response = self.url_open("/edi/demo/try") + self.assertEqual(response.status_code, 401) + # Let's login now + self.authenticate("admin", "admin") + response = self.url_open("/edi/demo/try") + self.assertEqual(response.status_code, 200) + self.assertIn("Created record:", response.content.decode()) diff --git a/edi_endpoint_oca/views/edi_backend_views.xml b/edi_endpoint_oca/views/edi_backend_views.xml new file mode 100644 index 000000000..666cc4b08 --- /dev/null +++ b/edi_endpoint_oca/views/edi_backend_views.xml @@ -0,0 +1,21 @@ + + + + edi.backend + + + + +
+ endpoints configured +
+ + +
diff --git a/edi_endpoint_oca/views/edi_exchange_record_views.xml b/edi_endpoint_oca/views/edi_exchange_record_views.xml new file mode 100644 index 000000000..18535545b --- /dev/null +++ b/edi_endpoint_oca/views/edi_exchange_record_views.xml @@ -0,0 +1,33 @@ + + + + edi.exchange.record + + + + + + + + + + edi.exchange.record + + + + + + + + + + edi.exchange.record + + + + + + + + + From c8dd075ffe3dc6205c9808da21fce4f60dac3e85 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 1 Jun 2023 10:11:52 +0000 Subject: [PATCH 28/33] [UPD] Update edi_endpoint_oca.pot --- edi_endpoint_oca/i18n/edi_endpoint_oca.pot | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/edi_endpoint_oca/i18n/edi_endpoint_oca.pot b/edi_endpoint_oca/i18n/edi_endpoint_oca.pot index 77e7ca812..814c56ebf 100644 --- a/edi_endpoint_oca/i18n/edi_endpoint_oca.pot +++ b/edi_endpoint_oca/i18n/edi_endpoint_oca.pot @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: edi_endpoint_oca +#: model_terms:ir.ui.view,arch_db:edi_endpoint_oca.edi_endpoint_form_view +msgid "Exchanges" +msgstr "" + +#. module: edi_endpoint_oca +#: model:ir.model,name:edi_endpoint_oca.model_edi_exchange_consumer_mixin +msgid "Abstract record where exchange records can be assigned" +msgstr "" + #. module: edi_endpoint_oca #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_endpoint__active msgid "Active" @@ -74,6 +84,8 @@ msgstr "" #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_backend__display_name #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_backend_type__display_name #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_endpoint__display_name +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_consumer_mixin__display_name +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_record__display_name msgid "Display Name" msgstr "" @@ -103,6 +115,23 @@ msgstr "" msgid "EDI Endpoints" msgstr "" +#. module: edi_endpoint_oca +#: model:ir.model,name:edi_endpoint_oca.model_edi_exchange_record +msgid "EDI exchange Record" +msgstr "" + +#. module: edi_endpoint_oca +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_consumer_mixin__origin_edi_endpoint_id +msgid "EDI origin endpoint" +msgstr "" + +#. module: edi_endpoint_oca +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_record__edi_endpoint_id +#: model_terms:ir.ui.view,arch_db:edi_endpoint_oca.edi_exchange_record_view_search +#: model_terms:ir.ui.view,arch_db:edi_endpoint_oca.edi_exchange_record_view_tree +msgid "Endpoint" +msgstr "" + #. module: edi_endpoint_oca #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_endpoint__endpoint_hash msgid "Endpoint Hash" @@ -155,6 +184,8 @@ msgstr "" #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_backend__id #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_backend_type__id #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_endpoint__id +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_consumer_mixin__id +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_record__id msgid "ID" msgstr "" @@ -167,6 +198,8 @@ msgstr "" #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_backend____last_update #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_backend_type____last_update #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_endpoint____last_update +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_consumer_mixin____last_update +#: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_exchange_record____last_update msgid "Last Modified on" msgstr "" @@ -199,6 +232,12 @@ msgid "" "OFF: record in line with the registry, nothing to do." msgstr "" +#. module: edi_endpoint_oca +#: model:ir.model.fields,help:edi_endpoint_oca.field_edi_exchange_consumer_mixin__origin_edi_endpoint_id +#: model:ir.model.fields,help:edi_endpoint_oca.field_edi_exchange_record__edi_endpoint_id +msgid "Record generated via this endpoint" +msgstr "" + #. module: edi_endpoint_oca #: model:ir.model.fields,field_description:edi_endpoint_oca.field_edi_endpoint__registry_sync msgid "Registry Sync" From c95c4290ee09695f4e9f01d93097bfa436bdee08 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 1 Jun 2023 10:22:31 +0000 Subject: [PATCH 29/33] [UPD] README.rst --- edi_endpoint_oca/README.rst | 9 ++------- edi_endpoint_oca/static/description/index.html | 8 +------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/edi_endpoint_oca/README.rst b/edi_endpoint_oca/README.rst index d236953f2..b19c74827 100644 --- a/edi_endpoint_oca/README.rst +++ b/edi_endpoint_oca/README.rst @@ -7,9 +7,9 @@ EDI endpoint !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status - :alt: Alpha + :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 @@ -27,11 +27,6 @@ EDI endpoint Base module allowing configuration of custom endpoints for EDI framework. -.. IMPORTANT:: - This is an alpha version, the data model and design can change at any time without warning. - Only for development or testing purpose, do not use in production. - `More details on development status `_ - **Table of contents** .. contents:: diff --git a/edi_endpoint_oca/static/description/index.html b/edi_endpoint_oca/static/description/index.html index 3fb667e0c..e7ef8e6bc 100644 --- a/edi_endpoint_oca/static/description/index.html +++ b/edi_endpoint_oca/static/description/index.html @@ -367,14 +367,8 @@

EDI endpoint

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

Base module allowing configuration of custom endpoints for EDI framework.

-
-

Important

-

This is an alpha version, the data model and design can change at any time without warning. -Only for development or testing purpose, do not use in production. -More details on development status

-

Table of contents

    From 1c93b3783d762273cf33c0df5351d138f6bca987 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 1 Jun 2023 10:22:31 +0000 Subject: [PATCH 30/33] edi_endpoint_oca 14.0.1.5.0 --- edi_endpoint_oca/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edi_endpoint_oca/__manifest__.py b/edi_endpoint_oca/__manifest__.py index c9599a239..da27d4106 100644 --- a/edi_endpoint_oca/__manifest__.py +++ b/edi_endpoint_oca/__manifest__.py @@ -7,7 +7,7 @@ "summary": """ Base module allowing configuration of custom endpoints for EDI framework. """, - "version": "14.0.1.4.0", + "version": "14.0.1.5.0", "development_status": "Beta", "license": "LGPL-3", "website": "https://github.com/OCA/edi", From 1b28255d5eeeac019a5279aa9ebd5328fc044308 Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Fri, 9 Jun 2023 14:48:27 +0200 Subject: [PATCH 31/33] edi_endpoint_oca: Migration to 16.0 Moved from OCA/edi repository --- edi_endpoint_oca/__manifest__.py | 4 ++-- .../migrations/14.0.1.4.0/post-migrate.py | 18 ------------------ .../tests/test_edi_endpoint_controller.py | 4 ++-- .../odoo/addons/edi_endpoint_oca | 1 + setup/edi_endpoint_oca/setup.py | 6 ++++++ 5 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 edi_endpoint_oca/migrations/14.0.1.4.0/post-migrate.py create mode 120000 setup/edi_endpoint_oca/odoo/addons/edi_endpoint_oca create mode 100644 setup/edi_endpoint_oca/setup.py diff --git a/edi_endpoint_oca/__manifest__.py b/edi_endpoint_oca/__manifest__.py index da27d4106..8e59fcdce 100644 --- a/edi_endpoint_oca/__manifest__.py +++ b/edi_endpoint_oca/__manifest__.py @@ -7,10 +7,10 @@ "summary": """ Base module allowing configuration of custom endpoints for EDI framework. """, - "version": "14.0.1.5.0", + "version": "16.0.1.0.0", "development_status": "Beta", "license": "LGPL-3", - "website": "https://github.com/OCA/edi", + "website": "https://github.com/OCA/edi-framework", "author": "Camptocamp,Odoo Community Association (OCA)", "depends": ["base_edi", "edi_oca", "endpoint"], "data": [ diff --git a/edi_endpoint_oca/migrations/14.0.1.4.0/post-migrate.py b/edi_endpoint_oca/migrations/14.0.1.4.0/post-migrate.py deleted file mode 100644 index 113dd9fc9..000000000 --- a/edi_endpoint_oca/migrations/14.0.1.4.0/post-migrate.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2022 Camptocamp SA (http://www.camptocamp.com) -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). - -import logging - -from odoo import SUPERUSER_ID, api - -_logger = logging.getLogger(__name__) - - -def migrate(cr, version): - if not version: - return - - env = api.Environment(cr, SUPERUSER_ID, {}) - domain = [("registry_sync", "=", False)] - env["edi.endpoint"].search(domain).write({"registry_sync": True}) - _logger.info("Activate sync for existing EDI endpoints") diff --git a/edi_endpoint_oca/tests/test_edi_endpoint_controller.py b/edi_endpoint_oca/tests/test_edi_endpoint_controller.py index 5bdfa943f..c71a39d9e 100644 --- a/edi_endpoint_oca/tests/test_edi_endpoint_controller.py +++ b/edi_endpoint_oca/tests/test_edi_endpoint_controller.py @@ -5,11 +5,11 @@ import os import unittest -from odoo.tests.common import HttpSavepointCase +from odoo.tests.common import HttpCase @unittest.skipIf(os.getenv("SKIP_HTTP_CASE"), "EDIEndpointHttpCase skipped") -class EDIEndpointHttpCase(HttpSavepointCase): +class EDIEndpointHttpCase(HttpCase): @classmethod def setUpClass(cls): super().setUpClass() diff --git a/setup/edi_endpoint_oca/odoo/addons/edi_endpoint_oca b/setup/edi_endpoint_oca/odoo/addons/edi_endpoint_oca new file mode 120000 index 000000000..82f69876d --- /dev/null +++ b/setup/edi_endpoint_oca/odoo/addons/edi_endpoint_oca @@ -0,0 +1 @@ +../../../../edi_endpoint_oca \ No newline at end of file diff --git a/setup/edi_endpoint_oca/setup.py b/setup/edi_endpoint_oca/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/edi_endpoint_oca/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 0a38dc99f00bb73cde6f4695be4100b4cddf1127 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Mon, 18 Dec 2023 10:13:27 +0100 Subject: [PATCH 32/33] edi_endpoint: make pre-commit happy --- edi_endpoint_oca/tests/test_edi_endpoint.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edi_endpoint_oca/tests/test_edi_endpoint.py b/edi_endpoint_oca/tests/test_edi_endpoint.py index 49d033259..4407a9425 100644 --- a/edi_endpoint_oca/tests/test_edi_endpoint.py +++ b/edi_endpoint_oca/tests/test_edi_endpoint.py @@ -9,7 +9,7 @@ class TestEndpoint(CommonEndpoint): @classmethod - def _setup_records(cls): + def _setup_records(cls): # pylint: disable=missing-return super()._setup_records() cls.endpoint = cls.env.ref("edi_endpoint_oca.edi_endpoint_demo_1") From 594ebefcb0fa533e244e515167f984e80381b461 Mon Sep 17 00:00:00 2001 From: thien Date: Tue, 9 Jan 2024 09:36:04 +0700 Subject: [PATCH 33/33] [FIX] edi_oca: fix setup env for unit test --- edi_oca/tests/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edi_oca/tests/common.py b/edi_oca/tests/common.py index 5d65cf843..839ee012d 100644 --- a/edi_oca/tests/common.py +++ b/edi_oca/tests/common.py @@ -74,7 +74,7 @@ def _create_exchange_type(cls, **kw): return model.create(vals) -@tagged("-at_install", "post_install") +@tagged("at_install", "-post_install") class EDIBackendCommonTestCase(TransactionCase, EDIBackendTestMixin): @classmethod def setUpClass(cls):