changeset 6eea2f724ab2 in modules/timesheet:default
details: https://hg.tryton.org/modules/timesheet?cmd=changeset&node=6eea2f724ab2
description:
        Check rule only if _check_access is set and enforce companies rule

        issue4080
        review343891009
diffstat:

 line.xml                |  25 +++++++++++++++++++------
 tests/test_timesheet.py |   4 ++--
 work.xml                |  24 ++++++------------------
 3 files changed, 27 insertions(+), 26 deletions(-)

diffs (112 lines):

diff -r d5bd5090b474 -r 6eea2f724ab2 line.xml
--- a/line.xml  Sun Mar 21 16:09:13 2021 +0100
+++ b/line.xml  Sat Apr 10 23:46:24 2021 +0200
@@ -60,6 +60,18 @@
             <field name="action" ref="act_line_form_work"/>
         </record>
 
+        <record model="ir.rule.group" id="rule_group_line_companies">
+            <field name="name">User in companies</field>
+            <field name="model" search="[('model', '=', 'timesheet.line')]"/>
+            <field name="global_p" eval="True"/>
+        </record>
+        <record model="ir.rule" id="rule_line_companies">
+            <field name="domain"
+                eval="[('company', 'in', Eval('companies', []))]"
+                pyson="1"/>
+            <field name="rule_group" ref="rule_group_line_companies"/>
+        </record>
+
         <record model="ir.rule.group" id="rule_group_line">
             <field name="name">Own timesheet line</field>
             <field name="model" search="[('model', '=', 'timesheet.line')]"/>
@@ -67,9 +79,9 @@
             <field name="default_p" eval="True"/>
             <field name="perm_read" eval="False"/>
         </record>
-        <record model="ir.rule" id="rule_line1">
+        <record model="ir.rule" id="rule_line">
             <field name="domain"
-                eval="[('employee', '=', Eval('user', {}).get('employee', 
None))]"
+                eval="[('employee', 'in', Eval('employees', []))]"
                 pyson="1"/>
             <field name="rule_group" ref="rule_group_line"/>
         </record>
@@ -134,18 +146,19 @@
             sequence="50"
             id="menu_hours_employee"/>
 
-        <record model="ir.rule.group" id="rule_group_hours_employee">
+        <record model="ir.rule.group" id="rule_group_hours_employees">
             <field name="name">Own employee hours</field>
             <field name="model" search="[('model', '=', 
'timesheet.hours_employee')]"/>
             <field name="global_p" eval="False"/>
             <field name="default_p" eval="True"/>
         </record>
-        <record model="ir.rule" id="rule_hours_employee1">
+        <record model="ir.rule" id="rule_hours_employees">
             <field name="domain"
-                eval="[('employee', '=', Eval('user', {}).get('employee', 
None))]"
+                eval="[('employee', 'in', Eval('employees', []))]"
                 pyson="1"/>
-            <field name="rule_group" ref="rule_group_hours_employee"/>
+            <field name="rule_group" ref="rule_group_hours_employees"/>
         </record>
+
         <record model="ir.rule.group" id="rule_group_hours_employee_admin">
             <field name="name">Any employee hours</field>
             <field name="model" search="[('model', '=', 
'timesheet.hours_employee')]"/>
diff -r d5bd5090b474 -r 6eea2f724ab2 tests/test_timesheet.py
--- a/tests/test_timesheet.py   Sun Mar 21 16:09:13 2021 +0100
+++ b/tests/test_timesheet.py   Sat Apr 10 23:46:24 2021 +0200
@@ -4,10 +4,10 @@
 import trytond.tests.test_tryton
 from trytond.tests.test_tryton import ModuleTestCase
 
-from trytond.modules.company.tests import CompanyMultiValueTestMixin
+from trytond.modules.company.tests import CompanyTestMixin
 
 
-class TimesheetTestCase(CompanyMultiValueTestMixin, ModuleTestCase):
+class TimesheetTestCase(CompanyTestMixin, ModuleTestCase):
     'Test Timesheet module'
     module = 'timesheet'
 
diff -r d5bd5090b474 -r 6eea2f724ab2 work.xml
--- a/work.xml  Sun Mar 21 16:09:13 2021 +0100
+++ b/work.xml  Sat Apr 10 23:46:24 2021 +0200
@@ -87,28 +87,16 @@
             <field name="perm_delete" eval="True"/>
         </record>
 
-        <record model="ir.rule.group" id="rule_group_work">
-            <field name="name">User in company</field>
+        <record model="ir.rule.group" id="rule_group_work_companies">
+            <field name="name">User in companies</field>
             <field name="model" search="[('model', '=', 'timesheet.work')]"/>
-            <field name="global_p" eval="False"/>
-            <field name="default_p" eval="True"/>
+            <field name="global_p" eval="True"/>
         </record>
-        <record model="ir.rule" id="rule_work1">
+        <record model="ir.rule" id="rule_work_companies">
             <field name="domain"
-                eval="[('company', '=', Eval('user', {}).get('company', 
None))]"
+                eval="[('company', 'in', Eval('companies', []))]"
                 pyson="1"/>
-            <field name="rule_group" ref="rule_group_work"/>
-        </record>
-        <record model="ir.rule.group" id="rule_group_work_admin">
-            <field name="name">Any work</field>
-            <field name="model" search="[('model', '=', 'timesheet.work')]"/>
-            <field name="global_p" eval="False"/>
-            <field name="default_p" eval="False"/>
-        </record>
-        <record model="ir.rule.group-res.group"
-            id="rule_group_work_admin_group_timesheet_admin">
-            <field name="rule_group" ref="rule_group_work_admin"/>
-            <field name="group" ref="group_timesheet_admin"/>
+            <field name="rule_group" ref="rule_group_work_companies"/>
         </record>
 
         <record model="ir.ui.view" id="work_context_view_form">

Reply via email to