From c1c914c95627def4e0bb11fb66519680a6bce021 Mon Sep 17 00:00:00 2001
From: hsilvant <hsilvant@scop.coop>
Date: Tue, 27 Apr 2021 16:52:44 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20notion=20de=20fili=C3=A8re=20?=
 =?UTF-8?q?sur=20les=20coop?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 __manifest__.py              |  1 +
 models/res_partner.py        | 13 +++++++++++++
 security/ir.model.access.csv |  4 +++-
 views/res_partner.xml        |  1 +
 views/scop_config_views.xml  | 23 +++++++++++++++++++++++
 5 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/__manifest__.py b/__manifest__.py
index e36a1e7..a85bf5e 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -50,6 +50,7 @@
         "datas/res_partner_organization_type_data.xml",
         "datas/res_partner_rgpd_origin_data.xml",
         "datas/res_partner_segment1_data.xml",
+        "datas/res_partner_filiere_data.xml",
         "datas/scop_contribution_type_data.xml",
         "datas/scop_membership_reason_end_data.xml",
         "datas/scop_membership_type_data.xml",
diff --git a/models/res_partner.py b/models/res_partner.py
index 6ba1080..46a0a22 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -154,6 +154,10 @@ class ScopPartner(models.Model):
     segment_4_nb = fields.Integer(
         string="Nb de segments 4",
         compute="_compute_segment_nb")
+    filiere_ids = fields.Many2many('res.partner.filiere',
+                                    column1='partner_id',
+                                    column2='filiere_id',
+                                    string='Filière')
 
 
     # Infos générales / Infos activité
@@ -1262,3 +1266,12 @@ class ResPartnerSecteurActivite(models.Model):
     _description = "Secteurs d'activité"
 
     name = fields.Char('Secteur')
+
+class ResPartnerFiliere(models.Model):
+    _name = "res.partner.filiere"
+    _description = "Filières"
+    _rec_name = 'name'
+    _order = 'name'
+
+
+    name = fields.Char('Filière')
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index af5356d..c5af899 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -73,4 +73,6 @@ access_scop_partner_staff,access_scop_partner_staff,model_scop_partner_staff,bas
 admin_scop_partner_staff,admin_scop_partner_staff,model_scop_partner_staff,group_cg_administrator,1,1,1,1
 admin_res_partner_naf,admin_res_partner_naf,model_res_partner_naf,group_cg_administrator,1,1,1,1
 base.access_res_country_state_group_user,res_country_state group_user,base.model_res_country_state,base.group_partner_manager,1,0,0,0
-admin_res_country_state,res_country_state_admin,base.model_res_country_state,group_cg_administrator,1,1,1,1
\ No newline at end of file
+admin_res_country_state,res_country_state_admin,base.model_res_country_state,group_cg_administrator,1,1,1,1
+access_res_partner_filiere,access_res_partner_filiere,model_res_partner_filiere,base.group_user,1,1,1,0
+admin_res_partner_filiere,admin_res_partner_filiere,model_res_partner_filiere,group_cg_administrator,1,1,1,1
\ No newline at end of file
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 3bfa0be..43145dd 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -407,6 +407,7 @@
                                 <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_2_nb', '=', 0)]}"/>
                                 <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_3_nb', '=', 0)]}"/>
                                 <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_4_nb', '=', 0)]}"/>
+                                <field name="filiere_ids" widget="many2many_tags" options="{'no_create': True}" attrs="{'invisible': [('project_status', 'in', ('1_information'))]}"/>
                                 <field name="is_federation_com" invisible="True"/>
                                 <field name="is_federation_indus" invisible="True"/>
                                 <field name="activity_federation_com_ids" groups="cgscop_partner.group_federation_com" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('is_federation_com', '!=', True)]}" widget="many2many_tags"/>
diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml
index 0c3378a..102cb5c 100644
--- a/views/scop_config_views.xml
+++ b/views/scop_config_views.xml
@@ -283,6 +283,24 @@
             <field name="help">Affiche et gère la liste des Ségmentations 4.</field>
         </record>
 
+        <!-- Filières -->
+        <record id="view_res_partner_filiere_tree" model="ir.ui.view">
+            <field name="name">res.partner.filiere.tree</field>
+            <field name="model">res.partner.filiere</field>
+            <field name="arch" type="xml">
+                <tree string="Filières" editable="top">
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="filiere_act_window" >
+            <field name="name">Filières</field>
+            <field name="res_model">res.partner.filiere</field>
+            <field name="view_mode">tree</field>
+            <field name="help">Affiche et gère la liste des filières.</field>
+        </record>
+
         <!-- Union Régionales -->
         <record model="ir.ui.view" id="union_regionale_tree_view">
             <field name="name">union.regionale.tree</field>
@@ -440,6 +458,11 @@
             name="Secteurs d'activités"
             action="secteur_activite_act_window"
             sequence="18"/>
+        <menuitem id="contacts.menu_partner_filiere"
+            parent="menu_scop"
+            name="Filières"
+            action="filiere_act_window"
+            sequence="19"/>
         <menuitem id="lefilament_naf.menu_naf_id"
             parent="menu_scop"
             action="lefilament_naf.action_view_res_partner_naf_tree"
-- 
GitLab