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

[UPD] add directors

parent 2cddc75f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -21,6 +21,7 @@
# views
"views/menus.xml",
"views/res_partner.xml",
"views/cgscop_inpi_director_views.xml",
# templates
# wizards
"wizard/inpi_update_wizard_views.xml",
......
......@@ -2,4 +2,4 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import res_partner
from . import cgscop_inpi_director
......@@ -4,18 +4,46 @@ import datetime
import logging
from odoo import _, fields, models
import odoo.addons.api_inpi.models.inpi_models as inpi_models
logger = logging.getLogger(__name__)
class CgScopInpiDirector(models.Model):
_name = "cgscop.inpi.director"
_description = "Dirigeant"
partner_id = fields.Many2one(
comodel_name="res.partner",
string="Dirigeant",
string="Société",
ondelete="restrict",
)
name = fields.Char()
name = fields.Char("Nom")
surname = fields.Char("Prénom")
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)
]
)
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)}
if inpi_pouvoir.individu.descriptionPersonne.dateDeNaissancePresent:
director_data[
"birthday"] = inpi_pouvoir.individu.descriptionPersonne.dateDeNaissance
self.create(director_data)
......@@ -15,11 +15,11 @@ class ResPartner(models.Model):
wizard_id = fields.Char()
# director_ids = fields.One2many(
# comodel_name="cgscop.inpi.director",
# inverse_name="partner_id",
# string="Dirigeants",
# )
inpi_director_ids = fields.One2many(
comodel_name="cgscop.inpi.director",
inverse_name="partner_id",
string="Dirigeants",
)
# --------------------------------------------------
# Fonctions utiles traiement reponse INPI
......@@ -323,8 +323,15 @@ class ResPartner(models.Model):
# DIRIGEANTS
# --------------------------------------------------
def _update_dirigeant_from_inpi(self, inpi_data, new_period=True):
pass
def _update_dirigeant_from_inpi(self, inpi_data):
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)
# --------------------------------------------------
# ADRESSE
......@@ -372,7 +379,7 @@ class ResPartner(models.Model):
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)
self._update_address_from_inpi(inpi_data=inpi_data, new_period=False)
self._update_dirigeant_from_inpi(inpi_data=inpi_data, new_period=False)
self._update_dirigeant_from_inpi(inpi_data=inpi_data)
self._update_etablissement_from_inpi(inpi_data=inpi_data)
period = self._get_current_period()
......
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_inpi_wizard,access_inpi_wizard,model_inpi_update_wizard,base.group_user,1,1,1,1
access_cgscop_inpi_director,access_cgscop_inpi_director,model_cgscop_inpi_director,base.group_user,1,1,1,1
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<!-- Form -->
<record id="cgscop_inpi_director_form_view" model="ir.ui.view">
<field name="name">cgscop.inpi.director.form</field>
<field name="model">cgscop.inpi.director</field>
<field name="arch" type="xml">
<form>
<group>
<field name="name" />
<field name="surname" />
<field name="partner_id" />
<field name="role" />
<field name="birthday" />
</group>
</form>
</field>
</record>
<!-- List -->
<record id="cgscop_inpi_director_tree_view" model="ir.ui.view">
<field name="name">cgscop.inpi.director.tree</field>
<field name="model">cgscop.inpi.director</field>
<field name="arch" type="xml">
<tree string="Modifications" editable="bottom">
<field name="name" />
<field name="surname" />
<field name="partner_id" />
<field name="role" />
</tree>
</field>
</record>
<!-- Search view -->
<!-- Actions -->
<record id="cgscop_inpi_director_act_window" model="ir.actions.act_window">
<field name="name">Greffe</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">cgscop.inpi.director</field>
<field name="view_mode">tree,form</field>
</record>
</data>
</odoo>
......@@ -6,9 +6,9 @@
<!-- Form -->
<record
model="ir.ui.view"
id="scop_greffe_inherit_res_partner_view"
id="cgscop_inpi_inherit_res_partner_view"
>
<field name="name">scop.greffe.partner.view</field>
<field name="name">cgscop.inpi.partner.view</field>
<field name="model">res.partner</field>
<field
name="inherit_id"
......@@ -24,6 +24,12 @@
string="Mettre à jours depuis INPI"
/>
</xpath>
<xpath expr="//notebook" position="inside">
<page name="director_page" string="Dirigeants">
<field name="inpi_director_ids" />
</page>
</xpath>
</field>
</record>
</data>
......
......@@ -41,7 +41,6 @@ class InpiUpdateWizard(models.TransientModel):
scop_to_update = self.partner_ids
for scop in scop_to_update:
#TODO put in queue job
scop.delay().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