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

[UPD] precommit and some debug

parent e9e6bbda
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -5,7 +5,6 @@
"author": "Le Filament",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": [
"base",
"cgscop_partner",
......
# Copyright 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import datetime
import logging
from odoo import _, fields, models
from odoo import fields, models
import odoo.addons.api_inpi.models.inpi_models as inpi_models
......@@ -28,6 +27,8 @@ class CgScopInpiDirector(models.Model):
def maj_from_inpi(self, scop_id, inpi_pouvoir):
# check if this "pouvoir" is an human
if inpi_pouvoir.typeDePersonne == "INDIVIDU":
# check if director exist
director = self.env["cgscop.inpi.director"].search(
[
......@@ -35,12 +36,13 @@ class CgScopInpiDirector(models.Model):
("name", "=", inpi_pouvoir.individu.descriptionPersonne.nom),
]
)
if not director:
director_data = {
"partner_id": scop_id.id,
"name": inpi_pouvoir.individu.descriptionPersonne.nom,
"surname": " ".join(inpi_pouvoir.individu.descriptionPersonne.prenoms),
"surname": " ".join(
inpi_pouvoir.individu.descriptionPersonne.prenoms
),
"role": inpi_models.get_role_from_code(inpi_pouvoir.roleEntreprise),
}
if inpi_pouvoir.individu.descriptionPersonne.dateDeNaissancePresent:
......
......@@ -64,7 +64,7 @@ class ResPartner(models.Model):
def _get_current_period(self):
return self.env["scop.period"].search(
[("partner_id", "=", self.id), ("end", "=", False)],
[("partner_id", "=", self.id), ("end", "=", False)], limit=1
)
def _get_values_from_period(self, period):
......@@ -125,6 +125,7 @@ class ResPartner(models.Model):
== inpi_models.RolePourEntreprise.SIEGE_FERME.value
):
return ets
return None
# --------------------------------------------------
# Fonctions update générale
......@@ -157,8 +158,10 @@ class ResPartner(models.Model):
inpi_data = self.env["api.inpi"].get_rne_data_object(
sirens=[self.siren.replace(" ", "")]
)
if inpi_data:
update_methods.get(update_type)(inpi_data=inpi_data)
else:
logger.error(_(f"No INPI response for {self.siren}"))
# --------------------------------------------------
# Denomination
......@@ -301,18 +304,21 @@ class ResPartner(models.Model):
inpi_facilities = (
inpi_data.formality.content.personneMorale.autresEtablissements
)
facilities_not_in_inpi = []
if inpi_facilities:
facilities = self.facility_ids
# mise a jours de etablissements en base
for facility in facilities:
self._update_facility(
inpi_facility=self._get_inpi_facility_from_siret(
inpi_facily = self._get_inpi_facility_from_siret(
facility.siret, inpi_data
),
facility=facility,
)
if not inpi_facily:
facilities_not_in_inpi.append(facility)
else:
self._update_facility(inpi_facility=inpi_facily, facility=facility)
# creation des eventuels nouveaux établissements secondaire
for inpi_facility in inpi_facilities:
role = inpi_facility.descriptionEtablissement.rolePourEntreprise
......@@ -322,13 +328,18 @@ class ResPartner(models.Model):
):
self._create_ets_secondaire(inpi_facility)
# suppression des ets secondaire non present dans inpi
for old_facility in facilities_not_in_inpi:
logger.info(
f"Etablissement secondaire non present dans INPI {old_facility.name}"
)
# --------------------------------------------------
# FORME JURIDIQUE
# --------------------------------------------------
def _update_forme_juridique_from_inpi(self, inpi_data, new_period=True):
inpi_forme_juridique = inpi_data.formality.content.natureCreation.formeJuridique
pass
inpi_data.formality.content.natureCreation.formeJuridique
# --------------------------------------------------
# DIRIGEANTS
......@@ -336,7 +347,10 @@ class ResPartner(models.Model):
def _update_dirigeant_from_inpi(self, inpi_data):
inpi_pouvoirs = inpi_data.formality.content.personneMorale.composition.pouvoirs
if inpi_data.formality.content.personneMorale.composition:
inpi_pouvoirs = (
inpi_data.formality.content.personneMorale.composition.pouvoirs
)
for pouvoir in inpi_pouvoirs:
self.env["cgscop.inpi.director"].maj_from_inpi(
......
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
from odoo import fields, models
class ScopPeriod(models.Model):
......
# © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
from odoo import fields, models
class InpiUpdateWizard(models.TransientModel):
......
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