From 2a8570a516dd3bff7be1304ce07d1dd814dfcc6f Mon Sep 17 00:00:00 2001 From: KNVx Date: Wed, 20 Sep 2023 13:34:37 +0200 Subject: [PATCH 1/4] [ADD] connector_woocommerce_apg_nif --- connector_woocommerce_apg_nif/README.rst | 30 ++++++++++++++++++ connector_woocommerce_apg_nif/__init__.py | 1 + connector_woocommerce_apg_nif/__manifest__.py | 20 ++++++++++++ .../models/__init__.py | 2 ++ .../models/res_partner/__init__.py | 2 ++ .../models/res_partner/import_mapper.py | 12 +++++++ .../models/res_partner/res_partner.py | 22 +++++++++++++ .../models/sale_order/__init__.py | 2 ++ .../models/sale_order/adapter.py | 28 ++++++++++++++++ .../models/sale_order/importer.py | 29 +++++++++++++++++ .../static/description/icon.png | Bin 0 -> 6342 bytes .../odoo/addons/connector_woocommerce_apg_nif | 1 + setup/connector_woocommerce_apg_nif/setup.py | 6 ++++ 13 files changed, 155 insertions(+) create mode 100644 connector_woocommerce_apg_nif/README.rst create mode 100644 connector_woocommerce_apg_nif/__init__.py create mode 100644 connector_woocommerce_apg_nif/__manifest__.py create mode 100644 connector_woocommerce_apg_nif/models/__init__.py create mode 100644 connector_woocommerce_apg_nif/models/res_partner/__init__.py create mode 100644 connector_woocommerce_apg_nif/models/res_partner/import_mapper.py create mode 100644 connector_woocommerce_apg_nif/models/res_partner/res_partner.py create mode 100644 connector_woocommerce_apg_nif/models/sale_order/__init__.py create mode 100644 connector_woocommerce_apg_nif/models/sale_order/adapter.py create mode 100644 connector_woocommerce_apg_nif/models/sale_order/importer.py create mode 100644 connector_woocommerce_apg_nif/static/description/icon.png create mode 120000 setup/connector_woocommerce_apg_nif/odoo/addons/connector_woocommerce_apg_nif create mode 100644 setup/connector_woocommerce_apg_nif/setup.py diff --git a/connector_woocommerce_apg_nif/README.rst b/connector_woocommerce_apg_nif/README.rst new file mode 100644 index 000000000..adbcc000e --- /dev/null +++ b/connector_woocommerce_apg_nif/README.rst @@ -0,0 +1,30 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================= +WooCommerce Connector +======================= + +* This module works with plugin APG NIF/CIF/NIE Field for WooCommerce. +* https://artprojectgroup.es/plugins-para-woocommerce/wc-apg-nifcifnie-field + +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. + +Credits +======= + +Contributors +------------ + +* Kilian Niubo + + + + diff --git a/connector_woocommerce_apg_nif/__init__.py b/connector_woocommerce_apg_nif/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/connector_woocommerce_apg_nif/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/connector_woocommerce_apg_nif/__manifest__.py b/connector_woocommerce_apg_nif/__manifest__.py new file mode 100644 index 000000000..f45911402 --- /dev/null +++ b/connector_woocommerce_apg_nif/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Connector WooCommerce APG NIF", + "version": "14.0.0.1.0", + "author": "NuoBiT Solutions, S.L.", + "license": "AGPL-3", + "category": "Connector", + "website": "https://github.com/nuobit/odoo-addons", + "external_dependencies": { + "python": [ + "woocommerce", + ], + }, + "depends": [ + "connector_woocommerce", + ], + "installable": True, +} diff --git a/connector_woocommerce_apg_nif/models/__init__.py b/connector_woocommerce_apg_nif/models/__init__.py new file mode 100644 index 000000000..17c6cc85d --- /dev/null +++ b/connector_woocommerce_apg_nif/models/__init__.py @@ -0,0 +1,2 @@ +from . import res_partner +from . import sale_order diff --git a/connector_woocommerce_apg_nif/models/res_partner/__init__.py b/connector_woocommerce_apg_nif/models/res_partner/__init__.py new file mode 100644 index 000000000..f2dad19d8 --- /dev/null +++ b/connector_woocommerce_apg_nif/models/res_partner/__init__.py @@ -0,0 +1,2 @@ +from . import import_mapper +from . import res_partner diff --git a/connector_woocommerce_apg_nif/models/res_partner/import_mapper.py b/connector_woocommerce_apg_nif/models/res_partner/import_mapper.py new file mode 100644 index 000000000..2358bf968 --- /dev/null +++ b/connector_woocommerce_apg_nif/models/res_partner/import_mapper.py @@ -0,0 +1,12 @@ +# Copyright NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping + + +class WooCommerceResPartnerImportMapper(Component): + _inherit = "woocommerce.res.partner.import.mapper" + + @mapping + def vat(self, record): + return {"vat": record.get("nif")} diff --git a/connector_woocommerce_apg_nif/models/res_partner/res_partner.py b/connector_woocommerce_apg_nif/models/res_partner/res_partner.py new file mode 100644 index 000000000..d450c9f75 --- /dev/null +++ b/connector_woocommerce_apg_nif/models/res_partner/res_partner.py @@ -0,0 +1,22 @@ +# Copyright NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import api, models + + +class Partner(models.Model): + _inherit = "res.partner" + + def _get_hash_fields(self): + hash_fields = super()._get_hash_fields() + return hash_fields + ["vat"] + + @api.depends("vat") + def _compute_address_hash(self): + super()._compute_address_hash() + + def _set_values_hash(self): + for rec in self: + values = super()._set_values_hash() + values.append(rec.vat or None) + return values diff --git a/connector_woocommerce_apg_nif/models/sale_order/__init__.py b/connector_woocommerce_apg_nif/models/sale_order/__init__.py new file mode 100644 index 000000000..c501c2719 --- /dev/null +++ b/connector_woocommerce_apg_nif/models/sale_order/__init__.py @@ -0,0 +1,2 @@ +from . import adapter +from . import importer diff --git a/connector_woocommerce_apg_nif/models/sale_order/adapter.py b/connector_woocommerce_apg_nif/models/sale_order/adapter.py new file mode 100644 index 000000000..3fc17d7af --- /dev/null +++ b/connector_woocommerce_apg_nif/models/sale_order/adapter.py @@ -0,0 +1,28 @@ +# Copyright NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo.addons.component.core import Component + + +class WooCommerceSaleOrderAdapter(Component): + _inherit = "woocommerce.sale.order.adapter" + + _apply_on = "woocommerce.sale.order" + + def _get_hash_fields(self): + hash_fields = super()._get_hash_fields() + return hash_fields + ["nif"] + + def _get_billing(self, value, hash_fields): + if value.get("billing"): + for item in value["meta_data"]: + if item["key"] == "_billing_nif": + value["billing"]["nif"] = item["value"] + super()._get_billing(value, hash_fields) + + def _get_shipping(self, value, hash_fields): + if value.get("shipping"): + for item in value["meta_data"]: + if item["key"] == "_shipping_nif": + value["shipping"]["nif"] = item["value"] + super()._get_shipping(value, hash_fields) diff --git a/connector_woocommerce_apg_nif/models/sale_order/importer.py b/connector_woocommerce_apg_nif/models/sale_order/importer.py new file mode 100644 index 000000000..dc564df13 --- /dev/null +++ b/connector_woocommerce_apg_nif/models/sale_order/importer.py @@ -0,0 +1,29 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) + +from odoo.osv import expression + +from odoo.addons.component.core import Component + + +class WooCommerceBaseSaleOrderImporter(Component): + _inherit = "woocommerce.sale.order.record.direct.importer" + + def _get_partner_parent_domain(self, dir_type, value): + domain = super()._get_partner_parent_domain(dir_type, value) + if value[dir_type].get("nif"): + domain = [d for d in domain if d[0] != "name"] + domain = expression.AND([domain, [("vat", "=", value[dir_type]["nif"])]]) + else: + if ( + dir_type == "shipping" + and value["shipping"]["name"] == value["billing"]["name"] + ): + domain.append(("id", "=", value["billing"]["parent"])) + return domain + + def _additional_partner_parent_fields(self, value, dir_type): + return { + **super()._additional_partner_parent_fields(value, dir_type), + "vat": value[dir_type].get("nif"), + } diff --git a/connector_woocommerce_apg_nif/static/description/icon.png b/connector_woocommerce_apg_nif/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd641e792c30455187ca30940bc0f329ce8bbb0 GIT binary patch literal 6342 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 literal 0 HcmV?d00001 diff --git a/setup/connector_woocommerce_apg_nif/odoo/addons/connector_woocommerce_apg_nif b/setup/connector_woocommerce_apg_nif/odoo/addons/connector_woocommerce_apg_nif new file mode 120000 index 000000000..43e6fc641 --- /dev/null +++ b/setup/connector_woocommerce_apg_nif/odoo/addons/connector_woocommerce_apg_nif @@ -0,0 +1 @@ +../../../../connector_woocommerce_apg_nif \ No newline at end of file diff --git a/setup/connector_woocommerce_apg_nif/setup.py b/setup/connector_woocommerce_apg_nif/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/connector_woocommerce_apg_nif/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 75b5b721403ee0a041f0dc8400119d2ddf528644 Mon Sep 17 00:00:00 2001 From: ??? Date: Wed, 1 Apr 2026 12:45:47 +0200 Subject: [PATCH 2/4] [IMP] connector_woocommerce_apg_nif: pre-commit auto fixes --- connector_woocommerce_apg_nif/__manifest__.py | 2 +- connector_woocommerce_apg_nif/pyproject.toml | 3 +++ requirements.txt | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 connector_woocommerce_apg_nif/pyproject.toml create mode 100644 requirements.txt diff --git a/connector_woocommerce_apg_nif/__manifest__.py b/connector_woocommerce_apg_nif/__manifest__.py index f45911402..b82afc38b 100644 --- a/connector_woocommerce_apg_nif/__manifest__.py +++ b/connector_woocommerce_apg_nif/__manifest__.py @@ -7,7 +7,7 @@ "author": "NuoBiT Solutions, S.L.", "license": "AGPL-3", "category": "Connector", - "website": "https://github.com/nuobit/odoo-addons", + "website": "https://github.com/NuoBiT/odoo-addons", "external_dependencies": { "python": [ "woocommerce", diff --git a/connector_woocommerce_apg_nif/pyproject.toml b/connector_woocommerce_apg_nif/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/connector_woocommerce_apg_nif/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..7b4c1eb2f --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +# generated from manifests external_dependencies +woocommerce From 475b7bcda2e5f00d5a0e65442a79818ac4537bbb Mon Sep 17 00:00:00 2001 From: ??? Date: Thu, 9 Apr 2026 13:12:22 +0200 Subject: [PATCH 3/4] [MIG] connector_woocommerce_apg_nif: Migration to 18.0 --- connector_woocommerce_apg_nif/__manifest__.py | 6 +++--- .../models/res_partner/res_partner.py | 3 ++- connector_woocommerce_apg_nif/models/sale_order/adapter.py | 5 +++-- connector_woocommerce_apg_nif/readme/CONTRIBUTORS.md | 3 +++ 4 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 connector_woocommerce_apg_nif/readme/CONTRIBUTORS.md diff --git a/connector_woocommerce_apg_nif/__manifest__.py b/connector_woocommerce_apg_nif/__manifest__.py index b82afc38b..9960a69ed 100644 --- a/connector_woocommerce_apg_nif/__manifest__.py +++ b/connector_woocommerce_apg_nif/__manifest__.py @@ -1,10 +1,11 @@ # Copyright NuoBiT Solutions - Kilian Niubo +# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Connector WooCommerce APG NIF", - "version": "14.0.0.1.0", - "author": "NuoBiT Solutions, S.L.", + "version": "18.0.1.0.0", + "author": "NuoBiT Solutions SL", "license": "AGPL-3", "category": "Connector", "website": "https://github.com/NuoBiT/odoo-addons", @@ -16,5 +17,4 @@ "depends": [ "connector_woocommerce", ], - "installable": True, } diff --git a/connector_woocommerce_apg_nif/models/res_partner/res_partner.py b/connector_woocommerce_apg_nif/models/res_partner/res_partner.py index d450c9f75..fd344c957 100644 --- a/connector_woocommerce_apg_nif/models/res_partner/res_partner.py +++ b/connector_woocommerce_apg_nif/models/res_partner/res_partner.py @@ -1,4 +1,5 @@ # Copyright NuoBiT Solutions - Kilian Niubo +# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import api, models @@ -13,7 +14,7 @@ def _get_hash_fields(self): @api.depends("vat") def _compute_address_hash(self): - super()._compute_address_hash() + return super()._compute_address_hash() def _set_values_hash(self): for rec in self: diff --git a/connector_woocommerce_apg_nif/models/sale_order/adapter.py b/connector_woocommerce_apg_nif/models/sale_order/adapter.py index 3fc17d7af..113a52a25 100644 --- a/connector_woocommerce_apg_nif/models/sale_order/adapter.py +++ b/connector_woocommerce_apg_nif/models/sale_order/adapter.py @@ -1,4 +1,5 @@ # Copyright NuoBiT Solutions - Kilian Niubo +# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo.addons.component.core import Component @@ -18,11 +19,11 @@ def _get_billing(self, value, hash_fields): for item in value["meta_data"]: if item["key"] == "_billing_nif": value["billing"]["nif"] = item["value"] - super()._get_billing(value, hash_fields) + return super()._get_billing(value, hash_fields) def _get_shipping(self, value, hash_fields): if value.get("shipping"): for item in value["meta_data"]: if item["key"] == "_shipping_nif": value["shipping"]["nif"] = item["value"] - super()._get_shipping(value, hash_fields) + return super()._get_shipping(value, hash_fields) diff --git a/connector_woocommerce_apg_nif/readme/CONTRIBUTORS.md b/connector_woocommerce_apg_nif/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..5d535bfca --- /dev/null +++ b/connector_woocommerce_apg_nif/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [NuoBiT](https://www.nuobit.com): + - Kilian Niubo + - Deniz Gallo From d9d0e65a9c09289f4af10e1ec8054618ae933475 Mon Sep 17 00:00:00 2001 From: ??? Date: Thu, 9 Apr 2026 11:44:45 +0200 Subject: [PATCH 4/4] [DO NOT MERGE] test-requirements.txt --- test-requirements.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 000000000..f6e0c2e2c --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,9 @@ +odoo-addon-website_sale_stock_variant@git+https://github.com/nuobit/odoo-addons.git@refs/pull/825/head#subdirectory=website_sale_stock_variant +odoo-addon-website_sale_extra_fields@git+https://github.com/nuobit/odoo-addons.git@refs/pull/826/head#subdirectory=website_sale_extra_fields +odoo-addon-connector_wordpress@git+https://github.com/nuobit/odoo-addons.git@refs/pull/876/head#subdirectory=connector_wordpress +odoo-addon-connector_extension_woocommerce@git+https://github.com/nuobit/odoo-addons.git@refs/pull/875/head#subdirectory=connector_extension_woocommerce +odoo-addon-tools_mimetypes_extension@git+https://github.com/nuobit/odoo-addons.git@refs/pull/878/head#subdirectory=tools_mimetypes_extension +odoo-addon-website_sale_variant@git+https://github.com/nuobit/odoo-addons.git@refs/pull/824/head#subdirectory=website_sale_variant +odoo-addon-website_sale_product_document@git+https://github.com/nuobit/odoo-addons.git@refs/pull/827/head#subdirectory=website_sale_product_document +odoo-addon-connector_extension_wordpress@git+https://github.com/nuobit/odoo-addons.git@refs/pull/877/head#subdirectory=connector_extension_wordpress +odoo-addon-connector_woocommerce@git+https://github.com/nuobit/odoo-addons.git@refs/pull/874/head#subdirectory=connector_woocommerce