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">