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
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -3,3 +3,4 @@ ...@@ -3,3 +3,4 @@
from . import res_partner from . import res_partner
from . import cgscop_inpi_director from . import cgscop_inpi_director
from . import scop_period
...@@ -26,24 +26,25 @@ class CgScopInpiDirector(models.Model): ...@@ -26,24 +26,25 @@ class CgScopInpiDirector(models.Model):
birthday = fields.Char("Date de naissance") birthday = fields.Char("Date de naissance")
role = fields.Char("Rôle dans l'entreprise") role = fields.Char("Rôle dans l'entreprise")
def maj_from_inpi(self, scop_id, inpi_pouvoir): def maj_from_inpi(self, scop_id, inpi_pouvoir):
# check if director exist # check if director exist
director = self.env["cgscop.inpi.director"].search( director = self.env["cgscop.inpi.director"].search(
[ [
("partner_id", "=", scop_id.id), ("partner_id", "=", scop_id.id),
("name", "=", inpi_pouvoir.individu.descriptionPersonne.nom) ("name", "=", inpi_pouvoir.individu.descriptionPersonne.nom),
] ]
) )
if not director: 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: if inpi_pouvoir.individu.descriptionPersonne.dateDeNaissancePresent:
director_data[ director_data["birthday"] = (
"birthday"] = inpi_pouvoir.individu.descriptionPersonne.dateDeNaissance inpi_pouvoir.individu.descriptionPersonne.dateDeNaissance
)
self.create(director_data) self.create(director_data)
...@@ -169,6 +169,7 @@ class ResPartner(models.Model): ...@@ -169,6 +169,7 @@ class ResPartner(models.Model):
) )
period_values["start"] = fields.Date.today() period_values["start"] = fields.Date.today()
period_values["name"] = inpi_name period_values["name"] = inpi_name
period_values["partner_id"] = self.id
if new_period: if new_period:
return self.env["scop.period"].with_context().create(period_values) return self.env["scop.period"].with_context().create(period_values)
else: else:
...@@ -194,6 +195,7 @@ class ResPartner(models.Model): ...@@ -194,6 +195,7 @@ class ResPartner(models.Model):
) )
period_values["start"] = fields.Date.today() period_values["start"] = fields.Date.today()
period_values["naf_id"] = inpi_naf_id period_values["naf_id"] = inpi_naf_id
period_values["partner_id"] = self.id
if new_period: if new_period:
return self.env["scop.period"].with_context().create(period_values) return self.env["scop.period"].with_context().create(period_values)
...@@ -328,10 +330,9 @@ class ResPartner(models.Model): ...@@ -328,10 +330,9 @@ class ResPartner(models.Model):
inpi_pouvoirs = inpi_data.formality.content.personneMorale.composition.pouvoirs inpi_pouvoirs = inpi_data.formality.content.personneMorale.composition.pouvoirs
for pouvoir in inpi_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 # ADRESSE
...@@ -360,6 +361,7 @@ class ResPartner(models.Model): ...@@ -360,6 +361,7 @@ class ResPartner(models.Model):
{"end": datetime.datetime.now().date(), "end_reason": "adr"} {"end": datetime.datetime.now().date(), "end_reason": "adr"}
) )
period_values["start"] = fields.Date.today() period_values["start"] = fields.Date.today()
period_values["partner_id"] = self.id
for value in changing_values: for value in changing_values:
period_values[value] = inpi_address.get(value) period_values[value] = inpi_address.get(value)
...@@ -383,58 +385,6 @@ class ResPartner(models.Model): ...@@ -383,58 +385,6 @@ class ResPartner(models.Model):
self._update_etablissement_from_inpi(inpi_data=inpi_data) self._update_etablissement_from_inpi(inpi_data=inpi_data)
period = self._get_current_period() 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) period_values = self._get_values_from_period(period)
self.env["scop.period"].with_context().create(period_values) 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 @@ ...@@ -16,7 +16,6 @@
/> />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside"> <xpath expr="//header" position="inside">
<button <button
name="update_from_inpi" name="update_from_inpi"
type="object" type="object"
......
# © 2020 Le Filament (<http://www.le-filament.com>) # © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # 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 import api, fields, models
from odoo.exceptions import UserError
class InpiUpdateWizard(models.TransientModel): class InpiUpdateWizard(models.TransientModel):
...@@ -17,13 +14,18 @@ class InpiUpdateWizard(models.TransientModel): ...@@ -17,13 +14,18 @@ class InpiUpdateWizard(models.TransientModel):
("some", "Sélectionner des coopératives"), ("some", "Sélectionner des coopératives"),
], ],
default="all", default="all",
string="Sélection des coopératives" string="Sélection des coopératives",
) )
partner_ids = fields.Many2many( partner_ids = fields.Many2many(
string="Coopérative(s)", string="Coopérative(s)",
comodel_name="res.partner", 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): def update(self):
...@@ -42,5 +44,3 @@ class InpiUpdateWizard(models.TransientModel): ...@@ -42,5 +44,3 @@ class InpiUpdateWizard(models.TransientModel):
for scop in scop_to_update: for scop in scop_to_update:
scop.sudo().update_from_inpi(update_type="all") 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