diff --git a/models/res_partner.py b/models/res_partner.py index 72671d0fc6e963a7847f375664c1058655da7755..a086d8cfd94e4df74fff41a5205469b93ed58e73 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -20,6 +20,11 @@ class ResPartner(models.Model): inverse_name="partner_id", string="Dirigeants", ) + last_inpi_update_date = fields.Datetime( + string="Dernière mise à jours INPI", + tracking=True + ) + first_company_closeout = fields.Date(string="Date de première cloture") # -------------------------------------------------- # Fonctions utiles traiement reponse INPI @@ -476,6 +481,22 @@ class ResPartner(models.Model): else: logger.info(_(f"No siege found for {self.name}: {self.siren}")) + # -------------------------------------------------- + # date de premiere cloture + # -------------------------------------------------- + + def _update_companie_first_closeout(self, inpi_data): + """ + MAJ de la date de premiere cloture des comptes + """ + logger.info(_(f"Update company first closeout date for {self.name}: {self.siren}")) + if inpi_data.formality.content.personneMorale and inpi_data.formality.content.personneMorale.identite: + description = inpi_data.formality.content.personneMorale.identite.description + if description.datePremiereCloture: + self.first_company_closeout = description.datePremiereCloture + else: + logger.info(_(f"No company first closeout date found for {self.name}: {self.siren}")) + # -------------------------------------------------- # UPDATE # -------------------------------------------------- @@ -486,6 +507,7 @@ class ResPartner(models.Model): Une periode est créee à la fin """ logger.info(_(f"Update all for {self.name}: {self.siren}")) + self._update_companie_first_closeout(inpi_data=inpi_data) self._update_denomination_from_inpi(inpi_data=inpi_data, new_period=False) self._update_forme_juridique_from_inpi(inpi_data=inpi_data, new_period=False) self._update_naf_from_inpi(inpi_data=inpi_data, new_period=False) @@ -498,3 +520,5 @@ class ResPartner(models.Model): 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) + + self.last_inpi_update_date = datetime.datetime.now() diff --git a/views/res_partner.xml b/views/res_partner.xml index 4fcfe9cdb1344600db18b2fd3c74008259a61ffa..daa94bf9f3380f379222fb7a5bfb0c5dd460cf4e 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -17,6 +17,10 @@ <field name="inpi_director_ids" /> </page> </xpath> + <xpath expr="//field[@name='closeout_month']" position="after"> + <field name="first_company_closeout" /> + <field name="last_inpi_update_date" /> + </xpath> </field> </record> </data>