From 84924a2ae93bba4ce9bb2c8321ad254faf333478 Mon Sep 17 00:00:00 2001
From: Juliana <juliana@le-filament.com>
Date: Mon, 26 Sep 2022 14:06:48 +0200
Subject: [PATCH] [UPD]Manage rule security contracts

---
 security/security.xml | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/security/security.xml b/security/security.xml
index d5de381..dabf0ad 100644
--- a/security/security.xml
+++ b/security/security.xml
@@ -37,8 +37,11 @@
             <field name="model_id" ref="acc_operation.model_acc_contract" />
             <field
                 name="domain_force"
-            >[('seller_id','in',[user.partner_id.parent_id.id, user.partner_id.id])]</field>
+            >[('seller_id','in',[user.partner_id.parent_id.id or -1, user.partner_id.id])]</field>
             <field name="groups" eval="[(4, ref('base.group_portal'))]" />
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_unlink" eval="False"/>
         </record>
 
         <record id="acc_contract_rule_portal_cont2" model="ir.rule">
@@ -46,18 +49,25 @@
             <field name="model_id" ref="acc_operation.model_acc_contract" />
             <field
                 name="domain_force"
-            >[('buyer_id','in',[user.partner_id.parent_id.id, user.partner_id.id])]</field>
+            >[('buyer_id','in',[user.partner_id.parent_id.id or -1, user.partner_id.id])]</field>
             <field name="groups" eval="[(4, ref('base.group_portal'))]" />
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_unlink" eval="False"/>
+        </record>
+
+        <record id="acc_contract_rule_portal_all" model="ir.rule">
+            <field name="name">Portail : Contrats pour tous</field>
+            <field name="model_id" ref="acc_operation.model_acc_contract" />
+            <field
+                name="domain_force"
+            >[('type', '=', 'all'), ('acc_operation_id', 'in', [user.partner_id.parent_id.injection_counter_ids.acc_operation_id.id, user.partner_id.injection_counter_ids.acc_operation_id.id])]</field>
+            <field name="groups" eval="[(4, ref('base.group_portal'))]" />
+            <field name="perm_write" eval="False"/>
+            <field name="perm_create" eval="False"/>
+            <field name="perm_unlink" eval="False"/>
         </record>
 
-<!--        <record id="acc_account_rule_portal_pmo" model="ir.rule">-->
-<!--            <field name="name">Portail : Factures pour les pmo</field>-->
-<!--            <field name="model_id" ref="acc_account.model_acc_contract" />-->
-<!--            <field-->
-<!--                name="domain_force"-->
-<!--            >[('pmo_id','in',[user.partner_id.parent_id.id, user.partner_id.id])]</field>-->
-<!--            <field name="groups" eval="[(4, ref('base.group_portal'))]" />-->
-<!--        </record>-->
     </data>
 
 </odoo>
-- 
GitLab