Check rule only if _check_access is set and enforce companies rule

issue4080
This commit is contained in:
Raimon Esteve 2022-03-21 19:32:32 +01:00
parent 43c203d17b
commit ca98887aaf
3 changed files with 18 additions and 13 deletions

View file

@ -63,7 +63,10 @@ class ExternalReception(Workflow, ModelSQL, ModelView):
Eval('context', {}).get('company', -1)),
])
party = fields.Many2One('party.party', 'Party', required=True,
states=_STATES, depends=_DEPENDS)
context={
'company': Eval('company'),
},
states=_STATES, depends=_DEPENDS + ['company'])
reference = fields.Char("Reference", size=None, select=True,
states=_STATES, depends=_DEPENDS)
warehouse = fields.Many2One('stock.location', "Warehouse",

View file

@ -128,6 +128,18 @@
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule.group" id="rule_group_stock_external_reception">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.external.reception')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_stock_external_reception1">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_stock_external_reception"/>
</record>
<record model="ir.model.button" id="stock_external_reception_draft_button">
<field name="name">draft</field>
<field name="string">Draft</field>
@ -228,17 +240,6 @@
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule.group" id="rule_group_stock_external_reception">
<field name="name">Stock External Reception, User Company</field>
<field name="model" search="[('model', '=', 'stock.external.reception')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_stock_external_reception1">
<field name="domain" eval="[('company', '=', Eval('user', {}).get('company', None))]" pyson="1"/>
<field name="rule_group" ref="rule_group_stock_external_reception"/>
</record>
<!-- Sequence -->
<record model="ir.sequence.type" id="sequence_type_external_reception">
<field name="name">External Reception</field>

View file

@ -7,9 +7,10 @@ import trytond.tests.test_tryton
from trytond.tests.test_tryton import ModuleTestCase
from trytond.tests.test_tryton import doctest_setup, doctest_teardown
from trytond.tests.test_tryton import doctest_checker
from trytond.modules.company.tests import CompanyTestMixin
class TestCase(ModuleTestCase):
class TestCase(CompanyTestMixin, ModuleTestCase):
'Test module'
module = 'stock_external_reception'