Skip to content
Extraits de code Groupes Projets
Valider 1fe5826a rédigé par Julien - Le Filament's avatar Julien - Le Filament
Parcourir les fichiers

[UPD] clean and add some logs

parent 74c48d05
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -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
......
......@@ -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)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter