diff --git a/models/cgscop_inpi_director.py b/models/cgscop_inpi_director.py index 2b8055259d5855b56230075643aa0e7ae1d64205..efdc53b0566c5af05814824fe09a1a6a1e143639 100644 --- a/models/cgscop_inpi_director.py +++ b/models/cgscop_inpi_director.py @@ -26,7 +26,9 @@ class CgScopInpiDirector(models.Model): role = fields.Char("Rôle dans l'entreprise") def maj_from_inpi(self, scop_id, inpi_pouvoir): - + """ + MAJ with inpi data + """ # check if this "pouvoir" is an human if inpi_pouvoir.typeDePersonne == "INDIVIDU": # check if director exist diff --git a/models/res_partner.py b/models/res_partner.py index 581a40c0efc89249af9cb7cc890045a018c5e000..65ca18aa312d0d563f1c1ded49f29926319f27e4 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -92,8 +92,7 @@ class ResPartner(models.Model): def _get_siege(self, inpi_data): """ - renvoi l objet etablissement du siege - pas forcement l etablissement principal + UTILS: renvoi l objet etablissement du siege """ # check si l etablissement principal est le siege ets_prin = inpi_data.formality.content.personneMorale.etablissementPrincipal @@ -132,6 +131,9 @@ class ResPartner(models.Model): # -------------------------------------------------- def update_from_inpi(self, update_type="all"): + """ + MAJ from inpi + """ type_list = [ "adresse", @@ -143,7 +145,7 @@ class ResPartner(models.Model): "all", ] if update_type not in type_list: - logger.warning(f"INPI update form {update_type} not available") + logger.error(f"INPI update form {update_type} not available") update_methods = { "adresse": self._update_address_from_inpi, @@ -161,14 +163,17 @@ class ResPartner(models.Model): if inpi_data: update_methods.get(update_type)(inpi_data=inpi_data) else: - logger.error(_(f"No INPI response for {self.siren}")) + logger.error(_(f"No INPI response for {self.name}: {self.siren}")) # -------------------------------------------------- # Denomination # -------------------------------------------------- def _update_denomination_from_inpi(self, inpi_data, new_period=True): - + """ + MAJ denomination + """ + logger.info(_(f"Update denomination for {self.name}: {self.siren}")) inpi_name = ( inpi_data.formality.content.personneMorale.identite.entreprise.denomination ) @@ -176,6 +181,9 @@ class ResPartner(models.Model): period_values = self._get_values_from_period(period) if inpi_name != period.name: if new_period: + logger.info( + _(f"Up denomination :Period creation for {self.name}: {self.siren}") + ) period.write( {"end": datetime.datetime.now().date(), "end_reason": "nom"} ) @@ -193,7 +201,10 @@ class ResPartner(models.Model): # -------------------------------------------------- def _update_naf_from_inpi(self, inpi_data, new_period=True): - + """ + MAJ code naf + """ + logger.info(_(f"Update code naf for {self.name}: {self.siren}")) inpi_naf_id = self._get_inpi_naf_id( inpi_data.formality.content.personneMorale.identite.entreprise.codeApe ) @@ -219,14 +230,19 @@ class ResPartner(models.Model): # ETABLISSEMENTS # -------------------------------------------------- - def _close_ets_secondaire(self, inpi_facility, facility): - # en attente reponse client - pass + def _close_ets_secondaire(self, facility): + """ + UTILS: fermeture d'un etablissement secondaire + """ + logger.info(_(f"Fermeture etablissement secondaire {facility.name}")) def _create_ets_secondaire(self, inpi_facility: inpi_models.InpiEtablissement): """ - creation d'un etablissement secondaire + UTILS: creation d'un etablissement secondaire """ + logger.info( + _(f"Creation etablissement secondaire for {self.name}: {self.siren}") + ) if inpi_facility.descriptionEtablissement.codeApe: inpi_naf_id = self._get_inpi_naf_id( inpi_facility.descriptionEtablissement.codeApe @@ -250,11 +266,19 @@ class ResPartner(models.Model): "naf_id": inpi_naf_id.id, } facility_values.update(inpi_adress) + logger.info( + _( + f"Etablissement {name} created: " + f"{inpi_facility.descriptionEtablissement.siret}" + ) + ) self.env["res.partner"].create(facility_values) def _get_inpi_facility_from_siret(self, siret, inpi_data): - """ """ + """ + UTILS: get facility data from siret + """ inpi_facilities = ( inpi_data.formality.content.personneMorale.autresEtablissements ) @@ -266,13 +290,14 @@ class ResPartner(models.Model): def _update_facility(self, inpi_facility, facility): """ - mise a jours etablissement secondaire + MAJ etablissement secondaire """ + logger.info(_(f"Update etablissement secondaire for {self.name}: {self.siren}")) if ( inpi_facility.descriptionEtablissement.rolePourEntreprise == inpi_models.RolePourEntreprise.ETS_SEC_FERME.value ): - self._close_ets_secondaire(inpi_facility, facility) + self._close_ets_secondaire(facility) else: if inpi_facility.descriptionEtablissement.codeApe: inpi_naf_id = self._get_inpi_naf_id( @@ -282,6 +307,7 @@ class ResPartner(models.Model): inpi_naf_id = self._get_inpi_naf_id(inpi_facility.activites[0].codeApe) inpi_adress = self._get_inpi_address(inpi_facility.adresse) + # si pas de nom renseigné on prend celui de la coopérative if inpi_facility.descriptionEtablissement.enseigne: name = inpi_facility.descriptionEtablissement.enseigne else: @@ -296,11 +322,14 @@ class ResPartner(models.Model): "naf_id": inpi_naf_id.id, } facility_values.update(inpi_adress) - facility.write(facility_values) def _update_etablissement_from_inpi(self, inpi_data, new_period=True): - """ """ + """ + MAJ établissements + Les nouveaux sont créées on ne fait rien pour ceux qui ne sont plus dans INPI + """ + logger.info(_(f"Update etablissement for {self.name}: {self.siren}")) inpi_facilities = ( inpi_data.formality.content.personneMorale.autresEtablissements ) @@ -330,6 +359,7 @@ class ResPartner(models.Model): # suppression des ets secondaire non present dans inpi for old_facility in facilities_not_in_inpi: + self._close_ets_secondaire(old_facility) logger.info( f"Etablissement secondaire non present dans INPI {old_facility.name}" ) @@ -339,14 +369,22 @@ class ResPartner(models.Model): # -------------------------------------------------- def _update_forme_juridique_from_inpi(self, inpi_data, new_period=True): - inpi_data.formality.content.natureCreation.formeJuridique + """ + MAJ forme juridique + En attente reponse CGSCOP + """ + logger.info(_(f"Update forme juridique for {self.name}: {self.siren}")) # -------------------------------------------------- # DIRIGEANTS # -------------------------------------------------- def _update_dirigeant_from_inpi(self, inpi_data): - + """ + MAJ dirigeants + Les dirigants sont créées via le modele cgscop.inpi.director + """ + logger.info(_(f"Update dirigeants for {self.name}: {self.siren}")) if inpi_data.formality.content.personneMorale.composition: inpi_pouvoirs = ( inpi_data.formality.content.personneMorale.composition.pouvoirs @@ -356,6 +394,8 @@ class ResPartner(models.Model): self.env["cgscop.inpi.director"].maj_from_inpi( scop_id=self, inpi_pouvoir=pouvoir ) + else: + logger.info(_(f"No dirigeants found for {self.name}: {self.siren}")) # -------------------------------------------------- # ADRESSE @@ -363,8 +403,9 @@ class ResPartner(models.Model): def _update_address_from_inpi(self, inpi_data, new_period=True): """ - Met a jours l adresse du siege dans la periode + MAJ de l adresse du siege """ + logger.info(_(f"Update adresse for {self.name}: {self.siren}")) siege = self._get_siege(inpi_data=inpi_data) if siege: inpi_address = self._get_inpi_address(siege.adresse) @@ -395,12 +436,19 @@ class ResPartner(models.Model): else: period.write(period_values) return period + else: + logger.info(_(f"No siege found for {self.name}: {self.siren}")) # -------------------------------------------------- # UPDATE # -------------------------------------------------- def _update_all_from_inpi(self, inpi_data): + """ + MAJ complete + Une periode est créee à la fin + """ + logger.info(_(f"Update all for {self.name}: {self.siren}")) 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)