From f2598a78801fb36c0545052b1c2e0774f5b91a98 Mon Sep 17 00:00:00 2001
From: Benjamin <benjamin@le-filament.com>
Date: Mon, 23 Mar 2020 12:12:12 +0100
Subject: [PATCH] =?UTF-8?q?[cgscop=20#156]=20ajout=20type=20d=E2=80=99acti?=
 =?UTF-8?q?vit=C3=A9=20adh=C3=A9rents=20f=C3=A9d=C3=A9=20com/indus?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 __manifest__.py                    |  1 +
 models/__init__.py                 |  1 +
 models/res_partner.py              | 10 +++++
 models/scop_federation_activity.py | 20 ++++++++++
 security/ir.model.access.csv       |  4 ++
 security/security_rules.xml        |  8 ++++
 views/res_partner.xml              |  2 +
 views/scop_federation_activity.xml | 62 ++++++++++++++++++++++++++++++
 8 files changed, 108 insertions(+)
 create mode 100644 models/scop_federation_activity.py
 create mode 100644 views/scop_federation_activity.xml

diff --git a/__manifest__.py b/__manifest__.py
index 4623b3f..481c4d3 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -33,6 +33,7 @@
         "views/scop_config_views.xml",
         "views/scop_config_lists_views.xml",
         "views/scop_period_views.xml",
+        "views/scop_federation_activity.xml",
         "datas/union_regionale_data.xml",
         "datas/res_partner_certification_data.xml",
         "datas/res_partner_company_type_data.xml",
diff --git a/models/__init__.py b/models/__init__.py
index 7c2650b..87ab67c 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -7,6 +7,7 @@ from . import res_partner
 from . import res_partner_newsletter
 from . import res_users
 from . import scop_contribution
+from . import scop_federation_activity
 from . import scop_liasse_fiscale
 from . import scop_membership
 from . import scop_period
diff --git a/models/res_partner.py b/models/res_partner.py
index 148ee20..fd98dcf 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -213,6 +213,16 @@ class ScopPartner(models.Model):
         compute='_compute_federation',
         store=True,
         default=False)
+    activity_federation_com = fields.Many2one(
+        comodel_name='scop.federation.com.activity',
+        string="Domaine d'activité",
+        help="Fédération de la Com - Domaine d'activité",
+        ondelete="set null")
+    activity_federation_indus = fields.Many2one(
+        comodel_name='scop.federation.indus.activity',
+        string="Domaine d'activité",
+        help="Fédération de l'Industrie - Domaine d'activité",
+        ondelete="set null")
 
     # Contacts
     director_ids = fields.One2many(
diff --git a/models/scop_federation_activity.py b/models/scop_federation_activity.py
new file mode 100644
index 0000000..0d8fb11
--- /dev/null
+++ b/models/scop_federation_activity.py
@@ -0,0 +1,20 @@
+# © 2020 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models, fields
+
+
+class ScopFederationComActivity(models.Model):
+    _name = "scop.federation.com.activity"
+    _description = "Activité Fédération de la Com"
+    _order = "name"
+
+    name = fields.Char("Domaine d'activité", required=True)
+
+
+class ScopFederationIndusActivity(models.Model):
+    _name = "scop.federation.indus.activity"
+    _description = "Activité Fédération de l'Industrie"
+    _order = "name"
+
+    name = fields.Char("Domaine d'activité", required=True,)
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 675f75a..3f34bfa 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -65,3 +65,7 @@ admin_ur_res_partner_segment4,admin_ur_res_partner_segment4,model_res_partner_se
 admin_ur_mail_activity_type,admin_ur_mail_activity_type,model_mail_activity_type,group_ur_list_modif,1,1,1,1
 edit_scop_membership_period,edit_scop_membership_period,model_scop_membership_period,group_edit_period,1,1,1,0
 edit_scop_period,edit_scop_period,model_scop_period,group_edit_period,1,1,1,0
+access_scop_federation_com_activity,access_scop_federation_com_activity,model_scop_federation_com_activity,base.group_user,1,0,0,0
+admin_scop_federation_com_activity,admin_scop_federation_com_activity,model_scop_federation_com_activity,group_federation_com,1,1,1,1
+access_scop_federation_indus_activity,access_scop_federation_indus_activity,model_scop_federation_indus_activity,base.group_user,1,0,0,0
+admin_scop_federation_indus_activity,admin_scop_federation_indus_activity,model_scop_federation_indus_activity,group_federation_indus,1,1,1,1
diff --git a/security/security_rules.xml b/security/security_rules.xml
index dd2d501..2fc2c4d 100644
--- a/security/security_rules.xml
+++ b/security/security_rules.xml
@@ -26,6 +26,14 @@
             <field name="implied_ids" eval="[(4, ref('cgscop_partner.group_add_period')), (4, ref('cgscop_partner.group_edit_period')),(4, ref('group_ur_list_modif'))]"/>
         </record>
 
+        <record id="group_federation_com" model="res.groups">
+            <field name="name">Fédération de la Com</field>
+        </record>
+
+        <record id="group_federation_indus" model="res.groups">
+            <field name="name">Fédération de l'industrie'</field>
+        </record>
+
         <record id="base.res_users_rule" model="ir.rule">
             <field name="name">user rule</field>
             <field name="model_id" ref="base.model_res_users"/>
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 2654e0d..cfd3522 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -356,6 +356,8 @@
                                 <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', '2_pre-diagnostic'))]}"/>
                                 <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', '2_pre-diagnostic'))]}"/>
                                 <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', '2_pre-diagnostic'))]}"/>
+                                <field name="activity_federation_com" groups="cgscop_partner.group_federation_com" options="{'no_open': True, 'no_create': True}"/>
+                                <field name="activity_federation_indus" groups="cgscop_partner.group_federation_indus" options="{'no_open': True, 'no_create': True}"/>
                             </group>
                             <group string="Informations Activité">
                                 <field name="creation_origin_id" attrs="{'required': [('is_cooperative', '=', True)]}" options="{'no_open': True, 'no_create': True}"/>
diff --git a/views/scop_federation_activity.xml b/views/scop_federation_activity.xml
new file mode 100644
index 0000000..c2535d7
--- /dev/null
+++ b/views/scop_federation_activity.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<!-- Copyright 2020 Le Filament
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+
+<odoo>
+    <data>
+        <!-- Activité Fédération de la Com -->
+        <record id="view_scop_federation_com_activity_tree" model="ir.ui.view">
+            <field name="name">scop.federation.com.activity.tree</field>
+            <field name="model">scop.federation.com.activity</field>
+            <field name="arch" type="xml">
+                <tree string="Activité Fédération de la Com" editable="top">
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Activité Fédération de l'Industrie -->
+        <record id="view_scop_federation_indus_activity_tree" model="ir.ui.view">
+            <field name="name">scop.federation.indus.activity.tree</field>
+            <field name="model">scop.federation.indus.activity</field>
+            <field name="arch" type="xml">
+                <tree string="Activité Fédération de l'Industrie" editable="top">
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Actions -->
+        <record id="action_view_scop_federation_com_activity" model="ir.actions.act_window">
+            <field name="name">Domaine Activité Fédé de la Com</field>
+            <field name="res_model">scop.federation.com.activity</field>
+            <field name="view_mode">tree</field>
+            <field name="help">Affiche et configure les domaines d'activité de la fédération de la Com</field>
+        </record>
+
+        <record id="action_view_scop_federation_indus_activity" model="ir.actions.act_window">
+            <field name="name">Domaine Activité Fédé de l'Industrie</field>
+            <field name="res_model">scop.federation.indus.activity</field>
+            <field name="view_mode">tree</field>
+            <field name="help">Affiche et configure les domaines d'activité de la fédération de l'Industrie</field>
+        </record>
+
+        <!-- MENUS -->
+        <menuitem id="menu_scop_federation"
+            name="Fédération"
+            parent="contacts.menu_contacts"
+            groups="group_federation_com,group_federation_indus"
+            sequence="50"/>
+        <menuitem id="menu_scop_federation_com_activity"
+            parent="menu_scop_federation"
+            action="action_view_scop_federation_com_activity"
+            groups="group_federation_com"
+            sequence="10"/>
+        <menuitem id="menu_scop_federation_indus_activity"
+            parent="menu_scop_federation"
+            action="action_view_scop_federation_indus_activity"
+            groups="group_federation_indus"
+            sequence="20"/>
+       
+    </data>
+</odoo>
-- 
GitLab