From f45e99e1835d40e488cb55aaced37b70c70aeb62 Mon Sep 17 00:00:00 2001 From: Carmen Bianca BAKKER Date: Mon, 17 Jul 2023 14:35:39 +0200 Subject: [PATCH] [FIX] l10n_be_cooperator_national_number: Fix the tests --- .../models/__init__.py | 3 +- .../models/res_partner.py | 29 +++++++++++++++++++ .../models/subscription_request.py | 26 ----------------- 3 files changed, 31 insertions(+), 27 deletions(-) create mode 100644 l10n_be_cooperator_national_number/models/res_partner.py diff --git a/l10n_be_cooperator_national_number/models/__init__.py b/l10n_be_cooperator_national_number/models/__init__.py index 397fcdcab..40cf510c0 100644 --- a/l10n_be_cooperator_national_number/models/__init__.py +++ b/l10n_be_cooperator_national_number/models/__init__.py @@ -1,2 +1,3 @@ -from . import subscription_request from . import company +from . import subscription_request +from . import res_partner diff --git a/l10n_be_cooperator_national_number/models/res_partner.py b/l10n_be_cooperator_national_number/models/res_partner.py new file mode 100644 index 000000000..2d9ee3652 --- /dev/null +++ b/l10n_be_cooperator_national_number/models/res_partner.py @@ -0,0 +1,29 @@ +# SPDX-FileCopyrightText: 2023 Coop IT Easy SC +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +from odoo import api, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + @api.model + def create(self, vals): + national_number = vals.pop("national_number", None) + partner = super().create(vals) + partner.create_national_number(national_number) + return partner + + def create_national_number(self, national_number): + self.ensure_one() + if national_number: + values = { + "name": national_number, + "category_id": self.env.ref( + "l10n_be_national_number.l10n_be_national_number_category" # noqa + ).id, + "partner_id": self.id, + } + result = self.env["res.partner.id_number"].create(values) + return result diff --git a/l10n_be_cooperator_national_number/models/subscription_request.py b/l10n_be_cooperator_national_number/models/subscription_request.py index c05781c79..322b00624 100644 --- a/l10n_be_cooperator_national_number/models/subscription_request.py +++ b/l10n_be_cooperator_national_number/models/subscription_request.py @@ -40,31 +40,9 @@ def validate_subscription_request(self): raise UserError(_("National Number is required.")) super().validate_subscription_request() - def create_national_number(self, partner): - self.ensure_one() - if not self.is_company: - if not self.national_number and self.require_national_number: - raise ValueError(_("National Number is required.")) - elif not self.national_number: - # Do nothing if no national number is provided, but none is - # required. - pass - else: - values = { - "name": self.national_number, - "category_id": self.env.ref( - "l10n_be_national_number.l10n_be_national_number_category" # noqa - ).id, - "partner_id": partner.id, - } - self.env["res.partner.id_number"].create(values) - return partner - def create_coop_partner(self): self.ensure_one() partner = super().create_coop_partner() - if self.display_national_number: - self.create_national_number(partner) return partner def get_representative_vals(self): @@ -79,7 +57,3 @@ def get_partner_vals(self): def get_person_info(self, partner): super().get_person_info(partner) self.national_number = self.get_national_number_from_partner(partner) - - def update_partner_info(self): - self.create_national_number(self.partner_id) - super().update_partner_info()