From c983c956eeaafe30f4dfb0d46b9d602a38055f01 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Thu, 10 Apr 2025 16:48:10 +0200 Subject: [PATCH] [UPD] remove test button and precommit --- __manifest__.py | 1 + models/res_partner.py | 62 +++++++++++++++++++++--------------- views/res_partner.xml | 8 ----- wizard/inpi_update_wizard.py | 2 +- 4 files changed, 38 insertions(+), 35 deletions(-) diff --git a/__manifest__.py b/__manifest__.py index 14ff5b7..b3925f8 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -18,6 +18,7 @@ # security "security/ir.model.access.csv", # datas + "data/cron_data.xml", # views "views/menus.xml", "views/res_partner.xml", diff --git a/models/res_partner.py b/models/res_partner.py index 92db7d5..db359bf 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -98,7 +98,7 @@ class ResPartner(models.Model): # check si l etablissement principal est le siege ets_prin = inpi_data.formality.content.personneMorale.etablissementPrincipal - if ( + if ( ets_prin and ets_prin.descriptionEtablissement.rolePourEntreprise == inpi_models.RolePourEntreprise.SIEGE_ETS_PRIN.value ): @@ -117,6 +117,14 @@ class ResPartner(models.Model): ): return ets + # si dissolution on renvoi l adresse du siege fermé + for ets in ets_secondaires: + if ( + ets.descriptionEtablissement.rolePourEntreprise + == inpi_models.RolePourEntreprise.SIEGE_FERME.value + ): + return ets + # -------------------------------------------------- # Fonctions update générale # -------------------------------------------------- @@ -343,34 +351,35 @@ class ResPartner(models.Model): Met a jours l adresse du siege dans la periode """ siege = self._get_siege(inpi_data=inpi_data) - inpi_address = self._get_inpi_address(siege.adresse) + if siege: + inpi_address = self._get_inpi_address(siege.adresse) - adress_values = ["street", "cedex", "street2", "zip", "city"] - changing_values = [] + adress_values = ["street", "cedex", "street2", "zip", "city"] + changing_values = [] - period = self._get_current_period() - period_values = self._get_values_from_period(period) + period = self._get_current_period() + period_values = self._get_values_from_period(period) - for v in adress_values: - if v in period._fields and inpi_address.get(v) != getattr(period, v): - changing_values.append(v) + for v in adress_values: + if v in period._fields and inpi_address.get(v) != getattr(period, v): + changing_values.append(v) - if changing_values: - if new_period: - period.write( - {"end": datetime.datetime.now().date(), "end_reason": "adr"} - ) - period_values["start"] = fields.Date.today() - period_values["partner_id"] = self.id + if changing_values: + if new_period: + period.write( + {"end": datetime.datetime.now().date(), "end_reason": "adr"} + ) + period_values["start"] = fields.Date.today() + period_values["partner_id"] = self.id - for value in changing_values: - period_values[value] = inpi_address.get(value) + for value in changing_values: + period_values[value] = inpi_address.get(value) - if new_period: - return self.env["scop.period"].with_context().create(period_values) - else: - period.write(period_values) - return period + if new_period: + return self.env["scop.period"].with_context().create(period_values) + else: + period.write(period_values) + return period # -------------------------------------------------- # UPDATE @@ -385,6 +394,7 @@ class ResPartner(models.Model): self._update_etablissement_from_inpi(inpi_data=inpi_data) period = self._get_current_period() - period.write({"end": datetime.datetime.now().date(), "end_reason": "inpi"}) - period_values = self._get_values_from_period(period) - self.env["scop.period"].with_context().create(period_values) + if period: + period.write({"end": datetime.datetime.now().date(), "end_reason": "inpi"}) + period_values = self._get_values_from_period(period) + self.env["scop.period"].with_context().create(period_values) diff --git a/views/res_partner.xml b/views/res_partner.xml index 6335a81..7276659 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -15,14 +15,6 @@ ref="cgscop_liasse_fiscale.scop_liasse_fiscale_inherit_res_partner_view" /> <field name="arch" type="xml"> - <xpath expr="//header" position="inside"> - <button - name="update_from_inpi" - type="object" - class="btn-info" - string="Mettre à jours depuis INPI" - /> - </xpath> <xpath expr="//notebook" position="inside"> <page name="director_page" string="Dirigeants"> <field name="inpi_director_ids" /> diff --git a/wizard/inpi_update_wizard.py b/wizard/inpi_update_wizard.py index 5d77b96..40fa9ab 100644 --- a/wizard/inpi_update_wizard.py +++ b/wizard/inpi_update_wizard.py @@ -43,4 +43,4 @@ class InpiUpdateWizard(models.TransientModel): scop_to_update = self.partner_ids for scop in scop_to_update: - scop.sudo().update_from_inpi(update_type="all") + scop.sudo().with_delay().update_from_inpi(update_type="all") -- GitLab