changeset 0cf69ba492a0 in modules/sale_gift_card:default
details:
https://hg.tryton.org/modules/sale_gift_card?cmd=changeset&node=0cf69ba492a0
description:
Check rule only if _check_access is set and enforce companies rule
issue4080
review343891009
diffstat:
sale.py | 5 ++++-
sale.xml | 12 ++++++++++++
tests/test_sale_gift_card.py | 4 +++-
3 files changed, 19 insertions(+), 2 deletions(-)
diffs (52 lines):
diff -r e5acdc50c2e8 -r 0cf69ba492a0 sale.py
--- a/sale.py Sun Apr 04 15:50:01 2021 +0200
+++ b/sale.py Sat Apr 10 23:46:24 2021 +0200
@@ -69,7 +69,10 @@
domain=[
('gift_card', '=', True),
],
- states=_states, depends=_depends)
+ context={
+ 'company': Eval('company', -1),
+ },
+ states=_states, depends=_depends + ['company'])
value = fields.Numeric(
"Value", digits=(16, Eval('currency_digits', 2)), required=True,
states=_states, depends=_depends + ['currency_digits'])
diff -r e5acdc50c2e8 -r 0cf69ba492a0 sale.xml
--- a/sale.xml Sun Apr 04 15:50:01 2021 +0200
+++ b/sale.xml Sat Apr 10 23:46:24 2021 +0200
@@ -93,6 +93,18 @@
<field name="perm_delete" eval="True"/>
</record>
+ <record model="ir.rule.group" id="rule_group_gift_card_companies">
+ <field name="name">User in companies</field>
+ <field name="model" search="[('model', '=', 'sale.gift_card')]"/>
+ <field name="global_p" eval="True"/>
+ </record>
+ <record model="ir.rule" id="rule_gift_card_companies">
+ <field name="domain"
+ eval="[('company', 'in', Eval('companies', []))]"
+ pyson="1"/>
+ <field name="rule_group" ref="rule_group_gift_card_companies"/>
+ </record>
+
<record model="ir.action.report" id="report_gift_card_email">
<field name="name">Gift Card</field>
<field name="model">sale.gift_card</field>
diff -r e5acdc50c2e8 -r 0cf69ba492a0 tests/test_sale_gift_card.py
--- a/tests/test_sale_gift_card.py Sun Apr 04 15:50:01 2021 +0200
+++ b/tests/test_sale_gift_card.py Sat Apr 10 23:46:24 2021 +0200
@@ -10,8 +10,10 @@
from trytond.tests.test_tryton import doctest_teardown
from trytond.tests.test_tryton import doctest_checker
+from trytond.modules.company.tests import CompanyTestMixin
-class SaleGiftCardTestCase(ModuleTestCase):
+
+class SaleGiftCardTestCase(CompanyTestMixin, ModuleTestCase):
'Test Sale Gift Card module'
module = 'sale_gift_card'