diff --git a/__manifest__.py b/__manifest__.py index 058cd134aaf82d1f25b90edb69969bebe974ff6e..15bb4d8df55b6a919d21ae8eb4b8070c64a28ad2 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -16,6 +16,7 @@ # security "security/ir.model.access.csv", # datas + "datas/res_partner_company_type_data.xml", # wizards "wizard/inpi_update_wizard_views.xml", # views diff --git a/datas/res_partner_company_type_data.xml b/datas/res_partner_company_type_data.xml new file mode 100644 index 0000000000000000000000000000000000000000..01d18f13046e44f03e8737d676a111ad67ff68dd --- /dev/null +++ b/datas/res_partner_company_type_data.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" ?> +<odoo> + <data> + <record id="cgscop_partner.riga_14675" model="res.partner.company.type"> + <field name="code_forme_juridique">10</field> + </record> + + <record id="cgscop_partner.riga_14672" model="res.partner.company.type"> + <field name="code_forme_juridique">92</field> + </record> + + <record id="cgscop_partner.riga_14673" model="res.partner.company.type"> + <field name="code_forme_juridique">72</field> + </record> + + <record id="cgscop_partner.riga_14674" model="res.partner.company.type"> + <field name="code_forme_juridique">23</field> + </record> + + <record id="cgscop_partner.riga_14669" model="res.partner.company.type"> + <field name="code_forme_juridique">54</field> + </record> + + <record id="cgscop_partner.riga_16496" model="res.partner.company.type"> + <field name="code_forme_juridique">5498</field> + </record> + + <record id="cgscop_partner.riga_14668" model="res.partner.company.type"> + <field name="code_forme_juridique">5599</field> + </record> + + <record id="cgscop_partner.riga_14670" model="res.partner.company.type"> + <field name="code_forme_juridique">56</field> + </record> + + <record id="cgscop_partner.riga_14677" model="res.partner.company.type"> + <field name="code_forme_juridique">65</field> + </record> + + <record id="cgscop_partner.riga_14860" model="res.partner.company.type"> + <field name="code_forme_juridique">6540</field> + </record> + + <record id="cgscop_partner.riga_16771" model="res.partner.company.type"> + <field name="code_forme_juridique">5785</field> + </record> + + <record id="cgscop_partner.riga_14671" model="res.partner.company.type"> + <field name="code_forme_juridique">5710</field> + </record> + + <record id="cgscop_partner.riga_16399" model="res.partner.company.type"> + <field name="code_forme_juridique">5720</field> + </record> + </data> +</odoo> diff --git a/models/__init__.py b/models/__init__.py index 9cd61eb020d519d1e39b4b35186296d348fb20a2..2afe7102f1071adb5ad0e6259b1e75418823ce5e 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -4,3 +4,4 @@ from . import res_partner from . import cgscop_inpi_director from . import scop_period +from . import res_partner_company_type diff --git a/models/res_partner.py b/models/res_partner.py index a086d8cfd94e4df74fff41a5205469b93ed58e73..ab0e6e4eb9ad79b42e5d9064c62e3faee4d18c93 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -386,9 +386,25 @@ class ResPartner(models.Model): def _update_forme_juridique_from_inpi(self, inpi_data, new_period=True): """ MAJ forme juridique - En attente reponse CGSCOP + on essai de faire correspondre le code de FJ reçu avec un + de ceux utilisé par la CGSCOP """ + logger.info(_(f"Update forme juridique for {self.name}: {self.siren}")) + if not inpi_data.formality.content.personneMorale: + return self._get_current_period() + inpi_forme_juridique = inpi_data.formality.content.personneMorale.identite.entreprise.formeJuridique + + # check if full code in base + cj_id = self.env["res.partner.company.type"].search([("code_forme_juridique", "=", inpi_forme_juridique)]) + if not cj_id: + cj_id = self.env["res.partner.company.type"].search([ + ("code_forme_juridique", "=", inpi_forme_juridique[:3])]) + + if cj_id: + self.partner_company_type_id = cj_id.id + return self._get_current_period() + # -------------------------------------------------- # DIRIGEANTS diff --git a/models/res_partner_company_type.py b/models/res_partner_company_type.py new file mode 100644 index 0000000000000000000000000000000000000000..d6e7b9e44b62604ada5f47e42a0713d28b433d14 --- /dev/null +++ b/models/res_partner_company_type.py @@ -0,0 +1,12 @@ +# Copyright 2017-2018 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResPartnerCompanyType(models.Model): + + _inherit = "res.partner.company.type" + + + code_forme_juridique = fields.Char(string="Code forme juridique", required=False, translate=True)