diff --git a/l10n_br_crm_cnpj_search/models/__init__.py b/l10n_br_crm_cnpj_search/models/__init__.py index b6e25981b141..e66f0d6cf4e5 100644 --- a/l10n_br_crm_cnpj_search/models/__init__.py +++ b/l10n_br_crm_cnpj_search/models/__init__.py @@ -1,2 +1 @@ from . import crm_lead -from . import l10n_br_base_party_mixin diff --git a/l10n_br_crm_cnpj_search/models/l10n_br_base_party_mixin.py b/l10n_br_crm_cnpj_search/models/l10n_br_base_party_mixin.py deleted file mode 100644 index e3ecb358ff48..000000000000 --- a/l10n_br_crm_cnpj_search/models/l10n_br_base_party_mixin.py +++ /dev/null @@ -1,14 +0,0 @@ -from odoo import models - - -class PartyMixin(models.AbstractModel): - _inherit = "l10n_br_base.party.mixin" - - def action_open_cnpj_search_wizard(self): - res = super().action_open_cnpj_search_wizard() - if self._name == "crm.lead": - default_lead_id = self.id - else: - default_lead_id = False - res["context"].update({"default_lead_id": default_lead_id}) - return res diff --git a/l10n_br_crm_cnpj_search/wizard/partner_cnpj_search_wizard.py b/l10n_br_crm_cnpj_search/wizard/partner_cnpj_search_wizard.py index c03c5e5c5656..3eb766b9a930 100644 --- a/l10n_br_crm_cnpj_search/wizard/partner_cnpj_search_wizard.py +++ b/l10n_br_crm_cnpj_search/wizard/partner_cnpj_search_wizard.py @@ -1,4 +1,3 @@ -from erpbrasil.base import misc from erpbrasil.base.misc import punctuation_rm from odoo import models @@ -9,54 +8,23 @@ class PartnerCnpjSearchWizard(models.TransientModel): def default_get(self, fields): res = super().default_get(fields) - lead_id = self.env.context.get("default_lead_id") - if lead_id: + active_model = self.env.context.get("active_model") + if active_model == "crm.lead": if "currency_id" in res: lead_model = self.env["crm.lead"] - lead = lead_model.browse(lead_id) - cnpj_cpf = punctuation_rm(lead.cnpj_cpf) - misc.punctuation_rm(self.zip) + lead_id = lead_model.browse(self.env.context.get("active_id")) + cnpj_cpf = punctuation_rm(lead_id.cnpj) values = self._get_partner_values(cnpj_cpf) res.update(values) return res def action_update_partner(self): - if self.env.context.get("default_partner_id"): + active_model = self.env.context.get("active_model") + if active_model == "crm.lead": + lead_model = self.env["crm.lead"] + lead_id = lead_model.browse(self.env.context.get("active_id")) + lead_id.partner_id.cnpj_cpf = lead_id.cnpj values_to_update = { - "legal_name": self.legal_name, - "name": self.name, - "inscr_est": self.inscr_est, - "zip": self.zip, - "street_name": self.street_name, - "street_number": self.street_number, - "street2": self.street2, - "district": self.district, - "state_id": self.state_id.id, - "city_id": self.city_id.id, - "city": self.city_id.name, - "country_id": self.country_id.id, - "phone": self.phone, - "mobile": self.mobile, - "email": self.email, - "legal_nature": self.legal_nature, - "equity_capital": self.equity_capital, - "cnae_main_id": self.cnae_main_id.id, - "company_type": "company", - } - if self.cnae_secondary_ids: - values_to_update["cnae_secondary_ids"] = [ - (6, 0, self.cnae_secondary_ids.ids) - ] - if self.child_ids: - values_to_update["child_ids"] = [(6, 0, self.child_ids.ids)] - non_empty_values = { - key: value for key, value in values_to_update.items() if value - } - if non_empty_values: - self.partner_id.write(non_empty_values) - - elif self.env.context.get("default_lead_id"): - values_to_update_lead = { "name": self.name, "partner_name": self.name, "legal_name": self.legal_name, @@ -68,23 +36,16 @@ def action_update_partner(self): "district": self.district, "state_id": self.state_id.id, "city_id": self.city_id.id, - "city": self.city_id.name, "country_id": self.country_id.id, "phone": self.phone, "mobile": self.mobile, "email_from": self.email, "legal_nature": self.legal_nature, "equity_capital": self.equity_capital, - "cnae_main_id": self.cnae_main_id, - "cnae_secondary_ids": self.cnae_secondary_ids, - } - non_empty_values_lead = { - key: value for key, value in values_to_update_lead.items() if value + "cnae_main_id": self.cnae_main_id.id, + "cnae_secondary_ids": [(6, 0, self.cnae_secondary_ids.ids)] + if self.cnae_secondary_ids + else False, } - if non_empty_values_lead: - crm_lead_id = self.env.context.get("default_lead_id") - if crm_lead_id: - lead = self.env["crm.lead"].browse(crm_lead_id) - lead.write(non_empty_values_lead) - - return {"type": "ir.actions.act_window_close"} + lead_id.write({k: v for k, v in values_to_update.items() if v}) + return super().action_update_partner()