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

[UPD] fix wizard

parent 9c2a0924
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -3,3 +3,4 @@
from . import res_partner
from . import cgscop_inpi_director
from . import scop_period
......@@ -26,24 +26,25 @@ class CgScopInpiDirector(models.Model):
birthday = fields.Char("Date de naissance")
role = fields.Char("Rôle dans l'entreprise")
def maj_from_inpi(self, scop_id, inpi_pouvoir):
# check if director exist
director = self.env["cgscop.inpi.director"].search(
[
("partner_id", "=", scop_id.id),
("name", "=", inpi_pouvoir.individu.descriptionPersonne.nom)
("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), "role":inpi_models.get_role_from_code(inpi_pouvoir.roleEntreprise)}
director_data = {
"partner_id": scop_id.id,
"name": inpi_pouvoir.individu.descriptionPersonne.nom,
"surname": " ".join(inpi_pouvoir.individu.descriptionPersonne.prenoms),
"role": inpi_models.get_role_from_code(inpi_pouvoir.roleEntreprise),
}
if inpi_pouvoir.individu.descriptionPersonne.dateDeNaissancePresent:
director_data[
"birthday"] = inpi_pouvoir.individu.descriptionPersonne.dateDeNaissance
director_data["birthday"] = (
inpi_pouvoir.individu.descriptionPersonne.dateDeNaissance
)
self.create(director_data)
......@@ -169,6 +169,7 @@ class ResPartner(models.Model):
)
period_values["start"] = fields.Date.today()
period_values["name"] = inpi_name
period_values["partner_id"] = self.id
if new_period:
return self.env["scop.period"].with_context().create(period_values)
else:
......@@ -194,6 +195,7 @@ class ResPartner(models.Model):
)
period_values["start"] = fields.Date.today()
period_values["naf_id"] = inpi_naf_id
period_values["partner_id"] = self.id
if new_period:
return self.env["scop.period"].with_context().create(period_values)
......@@ -328,10 +330,9 @@ class ResPartner(models.Model):
inpi_pouvoirs = inpi_data.formality.content.personneMorale.composition.pouvoirs
for pouvoir in inpi_pouvoirs:
self.env["cgscop.inpi.director"].maj_from_inpi(scop_id=self, inpi_pouvoir=pouvoir)
self.env["cgscop.inpi.director"].maj_from_inpi(
scop_id=self, inpi_pouvoir=pouvoir
)
# --------------------------------------------------
# ADRESSE
......@@ -360,6 +361,7 @@ class ResPartner(models.Model):
{"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)
......@@ -383,58 +385,6 @@ 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": "autr"})
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)
# --------------------------------------------------
# INITIALISATION SCOP
# --------------------------------------------------
def init_scop_from_inpi(self):
"""
Init scop data from INPI
"""
scop_data = {}
scop_siren = self.siren.replace(" ", "")
inpi_data = self.env["api.inpi"].get_rne_data_object(sirens=[scop_siren])
personne_morale = inpi_data.formality.content.personneMorale
inpi_social_object = personne_morale.identite.description.objet
inpi_naf_id = self._get_inpi_naf_id(
codeApe=personne_morale.identite.entreprise.codeApe
)
inpi_siret = (
personne_morale.etablissementPrincipal.descriptionEtablissement.siret
)
inpi_denomination = personne_morale.identite.entreprise.denomination
inpi_date_creation = inpi_data.formality.content.natureCreation.dateCreation
if inpi_social_object:
scop_data["social_object"] = inpi_social_object
if inpi_naf_id:
scop_data["naf_id"] = inpi_naf_id
if inpi_siret:
scop_data["siret"] = inpi_siret
if inpi_denomination:
scop_data["name"] = inpi_denomination
if inpi_date_creation:
scop_data["registration_date"] = inpi_date_creation
inpi_address = self._get_inpi_address(
personne_morale.etablissementPrincipal.adresse
)
if inpi_address.get("street"):
scop_data["street"] = inpi_address.get("street")
if inpi_address.get("cedex"):
scop_data["cedex"] = inpi_address.get("cedex")
if inpi_address.get("street2"):
scop_data["street2"] = inpi_address.get("street2")
if inpi_address.get("zip"):
scop_data["zip"] = inpi_address.get("zip")
if inpi_address.get("city"):
scop_data["city"] = inpi_address.get("city")
self.write(scop_data)
# © 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
class ScopPeriod(models.Model):
_inherit = "scop.period"
end_reason = fields.Selection(
selection_add=[
("inpi", "MAJ via inpi"),
]
)
......@@ -16,7 +16,6 @@
/>
<field name="arch" type="xml">
<xpath expr="//header" position="inside">
<button
name="update_from_inpi"
type="object"
......
# © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from datetime import datetime
from requests.exceptions import HTTPError
from odoo import api, fields, models
from odoo.exceptions import UserError
class InpiUpdateWizard(models.TransientModel):
......@@ -17,13 +14,18 @@ class InpiUpdateWizard(models.TransientModel):
("some", "Sélectionner des coopératives"),
],
default="all",
string="Sélection des coopératives"
string="Sélection des coopératives",
)
partner_ids = fields.Many2many(
string="Coopérative(s)",
comodel_name="res.partner",
domain=[("is_cooperative", "=", True),("siret", "!=", False)],
domain=[
("is_cooperative", "=", True),
("siret", "!=", False),
("project_status", "=", "4_suivi"),
("is_company", "=", True),
],
)
def update(self):
......@@ -42,5 +44,3 @@ class InpiUpdateWizard(models.TransientModel):
for scop in scop_to_update:
scop.sudo().update_from_inpi(update_type="all")
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