changeset b795c2d2472b in modules/purchase_requisition:default
details:
https://hg.tryton.org/modules/purchase_requisition?cmd=changeset&node=b795c2d2472b
description:
Check rule only if _check_access is set and enforce companies rule
issue4080
review343891009
diffstat:
purchase.xml | 40 ++++++++++++++++++++++++-------------
tests/test_purchase_requisition.py | 4 +-
2 files changed, 28 insertions(+), 16 deletions(-)
diffs (93 lines):
diff -r 25ac2a496d23 -r b795c2d2472b purchase.xml
--- a/purchase.xml Fri Apr 09 10:52:03 2021 +0200
+++ b/purchase.xml Sat Apr 10 23:46:24 2021 +0200
@@ -232,7 +232,20 @@
<field name="group" ref="group_purchase_requisition_approval"/>
</record>
- <record model="ir.rule.group" id="rule_group_requisition_default">
+ <record model="ir.rule.group" id="rule_group_requisition_companies">
+ <field name="name">User in companies</field>
+ <field name="model" search="[('model', '=',
'purchase.requisition')]"/>
+ <field name="global_p" eval="True"/>
+ </record>
+ <record model="ir.rule" id="rule_requisition_companies">
+ <field
+ name="domain"
+ eval="[('company', 'in', Eval('companies', []))]"
+ pyson="1"/>
+ <field name="rule_group" ref="rule_group_requisition_companies"/>
+ </record>
+
+ <record model="ir.rule.group" id="rule_group_requisition_employees">
<field name="name">Own requisition</field>
<field name="model"
search="[('model', '=', 'purchase.requisition')]"/>
@@ -240,39 +253,38 @@
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
- <record model="ir.rule" id="rule_requisition_default">
+ <record model="ir.rule" id="rule_requisition_employees">
<field name="domain"
- eval="[('employee', 'in', Eval('user', {}).get('employees',
None))]"
+ eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
- <field name="rule_group" ref="rule_group_requisition_default"/>
+ <field name="rule_group" ref="rule_group_requisition_employees"/>
</record>
<record model="ir.rule.group-res.group"
- id="rule_group_requisition_default_group_purchase_requisition">
- <field name="rule_group"
- ref="rule_group_requisition_default"/>
+ id="rule_group_requisition_employees_group_purchase_requisition">
+ <field name="rule_group" ref="rule_group_requisition_employees"/>
<field name="group" ref="group_purchase_requisition"/>
</record>
<!-- Give access to user who could trigger requisition work-flow -->
- <record model="ir.rule.group" id="rule_group_requisition">
+ <record model="ir.rule.group" id="rule_group_requisition_admin">
<field name="name">Any requisition</field>
<field name="model"
search="[('model', '=', 'purchase.requisition')]"/>
<field name="global_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group"
- id="rule_group_requisition_group_purchase_requisition_approval">
- <field name="rule_group" ref="rule_group_requisition"/>
+
id="rule_group_requisition_admin_group_purchase_requisition_approval">
+ <field name="rule_group" ref="rule_group_requisition_admin"/>
<field name="group" ref="group_purchase_requisition_approval"/>
</record>
<record model="ir.rule.group-res.group"
- id="rule_group_requisition_group_purchase_request">
- <field name="rule_group" ref="rule_group_requisition"/>
+ id="rule_group_requisition_admin_group_purchase_request">
+ <field name="rule_group" ref="rule_group_requisition_admin"/>
<field name="group" ref="purchase_request.group_purchase_request"/>
</record>
<record model="ir.rule.group-res.group"
- id="rule_group_requisition_group_purchase">
- <field name="rule_group" ref="rule_group_requisition"/>
+ id="rule_group_requisition_admin_group_purchase">
+ <field name="rule_group" ref="rule_group_requisition_admin"/>
<field name="group" ref="purchase.group_purchase"/>
</record>
diff -r 25ac2a496d23 -r b795c2d2472b tests/test_purchase_requisition.py
--- a/tests/test_purchase_requisition.py Fri Apr 09 10:52:03 2021 +0200
+++ b/tests/test_purchase_requisition.py Sat Apr 10 23:46:24 2021 +0200
@@ -9,10 +9,10 @@
from trytond.tests.test_tryton import doctest_teardown
from trytond.tests.test_tryton import doctest_checker
-from trytond.modules.company.tests import CompanyMultiValueTestMixin
+from trytond.modules.company.tests import CompanyTestMixin
-class PurchaseRequisitionTestCase(CompanyMultiValueTestMixin, ModuleTestCase):
+class PurchaseRequisitionTestCase(CompanyTestMixin, ModuleTestCase):
'Test Purchase Requisition module'
module = 'purchase_requisition'