From 6aa63f2cb344cdb43ca03037ab4df49a6d03386c Mon Sep 17 00:00:00 2001
From: Remi <remi@le-filament.com>
Date: Mon, 9 Dec 2019 15:32:29 +0100
Subject: [PATCH] Add mail_activity_type per UR

---
 models/__init__.py           |  1 +
 models/mail_activity_type.py | 18 ++++++++++++++++++
 security/security_rules.xml  | 18 +++++++++++++++++-
 views/scop_config_views.xml  | 26 ++++++++++++++++++++++++--
 4 files changed, 60 insertions(+), 3 deletions(-)
 create mode 100644 models/mail_activity_type.py

diff --git a/models/__init__.py b/models/__init__.py
index c64b28a..7c2650b 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -2,6 +2,7 @@
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 from . import res_company
+from . import mail_activity_type
 from . import res_partner
 from . import res_partner_newsletter
 from . import res_users
diff --git a/models/mail_activity_type.py b/models/mail_activity_type.py
new file mode 100644
index 0000000..8d266c2
--- /dev/null
+++ b/models/mail_activity_type.py
@@ -0,0 +1,18 @@
+# © 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class MailActivityType(models.Model):
+    _inherit = "mail.activity.type"
+
+    def _default_ur(self):
+        return self.env['res.company']._ur_default_get()
+
+    ur_id = fields.Many2one(
+        'union.regionale',
+        string='Union Régionale',
+        index=True,
+        on_delete='restrict',
+        default=_default_ur)
diff --git a/security/security_rules.xml b/security/security_rules.xml
index c7fe369..12f973c 100644
--- a/security/security_rules.xml
+++ b/security/security_rules.xml
@@ -3,7 +3,7 @@
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 
 <odoo>
-    <data noupdate="1">
+    <data noupdate="0">
         <record id="group_ur_list_modif" model="res.groups">
             <field name="name">Modifier les listes spécifiques de mon UR</field>
         </record>
@@ -123,6 +123,22 @@
             <field eval="True" name="global"/>
         </record>
 
+        <record id="mail_activity_type_rule_ur" model="ir.rule">
+            <field name="name">mail activity type rule per ur</field>
+            <field name="model_id" ref="mail.model_mail_activity_type"/>
+            <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
+            <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
+            <field eval="True" name="global"/>
+        </record>
+
+        <record id="mail_activity_type_rule_admin" model="ir.rule">
+            <field name="name">mail activity type rule administrator</field>
+            <field name="model_id" ref="mail.model_mail_activity_type"/>
+            <field name="domain_force">[(1,'=',1)]</field>
+            <field name="groups" eval="[(6, 0, [ref('cgscop_partner.group_cg_administrator')])]"/>
+            <field eval="True" name="global"/>
+        </record>
+
         <record id="base.access_res_partner_group_partner_manager" model="ir.model.access">
             <field name="name">res_partner group_partner_manager</field>
             <field name="model_id" ref="base.model_res_partner"/>
diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml
index fbffec7..12bf7e8 100644
--- a/views/scop_config_views.xml
+++ b/views/scop_config_views.xml
@@ -290,6 +290,18 @@
             </field>
         </record>
 
+        <!-- Modif Activity Types -->
+        <record model="ir.ui.view" id="activity_type_form_view_per_ur">
+            <field name="name">activity type per ur</field>
+            <field name="model">mail.activity.type</field>
+            <field name="inherit_id" ref="mail.mail_activity_type_view_form"/>
+            <field name="arch" type="xml">
+                <field name="force_next" position="before">
+                    <field name="ur_id" options="{'no_open': True, 'no_create': True}"/>
+                </field>
+            </field>
+        </record>
+
         <!-- MENUS -->
 
         <menuitem id="contacts.res_partner_menu_config"
@@ -304,9 +316,9 @@
 
         <menuitem id="contacts.menu_partner_category_form"
             action="base.action_partner_category_form"
-            name="Contact Tags"
+            name="Etiquettes sur les Personnes"
             sequence="1" parent="contacts.res_partner_menu_config"
-            groups="base.group_no_one"/>
+            groups="group_cg_administrator"/>
 
         <menuitem id="contacts.res_partner_industry_menu" name="Sectors of Activity"
             action="base.res_partner_industry_action" parent="contacts.res_partner_menu_config"
@@ -342,6 +354,16 @@
             <field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
         </record>
 
+        <menuitem id="menu_scop_activity_type" name="Types d'Activités"
+          parent="contacts.res_partner_menu_config"
+          action="mail.mail_activity_type_action"
+          sequence="18"/>
+
+        <record model="ir.ui.menu" id="menu_scop_activity_type">
+            <field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
+        </record>
+
+
         <menuitem id="menu_scop" name="SCOP"
             parent="contacts.res_partner_menu_config" sequence="20" groups="group_cg_administrator"/>
 
-- 
GitLab