Check rule only if _check_access is set and enforce companies rule

issue4080
review343891009
This commit is contained in:
Cédric Krier
2021-04-10 23:46:24 +02:00
parent ef3ec33c78
commit 5d90eae76e
2 changed files with 28 additions and 16 deletions
+26 -14
View File
@@ -232,7 +232,20 @@ this repository contains the full copyright notices and license terms.
<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 @@ this repository contains the full copyright notices and license terms.
<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>
+2 -2
View File
@@ -9,10 +9,10 @@ from trytond.tests.test_tryton import suite as test_suite
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'