changeset 1e72fa3df393 in modules/purchase:default
details: https://hg.tryton.org/modules/purchase?cmd=changeset;node=1e72fa3df393
description:
Add test on context of company multivalue target fields
issue10067
review333851026
diffstat:
party.py | 13 +++++++++++--
product.py | 19 +++++++++++++++----
purchase.py | 15 ++++++++++++---
stock.py | 7 ++++++-
tests/test_purchase.py | 7 +++++--
5 files changed, 49 insertions(+), 12 deletions(-)
diffs (150 lines):
diff -r 7f63793a1630 -r 1e72fa3df393 party.py
--- a/party.py Sat Feb 27 18:16:28 2021 +0100
+++ b/party.py Fri Mar 05 15:49:19 2021 +0100
@@ -3,6 +3,7 @@
from trytond.i18n import gettext
from trytond.model import fields, ModelSQL
from trytond.pool import PoolMeta, Pool
+from trytond.pyson import Eval
from trytond.modules.company.model import (
CompanyMultiValueMixin, CompanyValueMixin)
@@ -35,7 +36,11 @@
"Party Customer Code"
__name__ = 'party.party.customer_code'
party = fields.Many2One(
- 'party.party', "Party", ondelete='CASCADE', select=True)
+ 'party.party', "Party", ondelete='CASCADE', select=True,
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
customer_code = fields.Char('Customer Code')
@@ -43,7 +48,11 @@
"Supplier Lead Time"
__name__ = 'party.party.supplier_lead_time'
party = fields.Many2One(
- 'party.party', "Party", ondelete='CASCADE', select=True)
+ 'party.party', "Party", ondelete='CASCADE', select=True,
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
supplier_lead_time = fields.TimeDelta("Lead Time")
diff -r 7f63793a1630 -r 1e72fa3df393 product.py
--- a/product.py Sat Feb 27 18:16:28 2021 +0100
+++ b/product.py Fri Mar 05 15:49:19 2021 +0100
@@ -258,7 +258,10 @@
()),
If(Eval('active'), ('active', '=', True), ()),
],
- depends=['product', 'active'])
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['product', 'active', 'company'])
product = fields.Many2One(
'product.product', "Variant", select=True,
domain=[
@@ -267,9 +270,17 @@
()),
If(Eval('active'), ('active', '=', True), ()),
],
- depends=['template', 'active'])
- party = fields.Many2One('party.party', 'Supplier', required=True,
- ondelete='CASCADE', select=True)
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['template', 'active', 'company'])
+ party = fields.Many2One(
+ 'party.party', 'Supplier', required=True, ondelete='CASCADE',
+ select=True,
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
name = fields.Char('Name', size=None, translate=True, select=True)
code = fields.Char('Code', size=None, select=True)
prices = fields.One2Many('purchase.product_supplier.price',
diff -r 7f63793a1630 -r 1e72fa3df393 purchase.py
--- a/purchase.py Sat Feb 27 18:16:28 2021 +0100
+++ b/purchase.py Fri Mar 05 15:49:19 2021 +0100
@@ -104,24 +104,33 @@
'readonly': ((Eval('state') != 'draft')
| (Eval('lines', [0]) & Eval('party'))),
},
- select=True, depends=['state'])
+ context={
+ 'company': Eval('company', -1),
+ },
+ select=True, depends=['state', 'company'])
party_lang = fields.Function(fields.Char('Party Language'),
'on_change_with_party_lang')
contact = fields.Many2One(
'party.contact_mechanism', "Contact",
+ context={
+ 'company': Eval('company', -1),
+ },
search_context={
'related_party': Eval('party'),
},
- depends=['party'])
+ depends=['party', 'company'])
invoice_party = fields.Many2One('party.party', "Invoice Party",
states={
'readonly': ((Eval('state') != 'draft')
| Eval('lines', [0])),
},
+ context={
+ 'company': Eval('company', -1),
+ },
search_context={
'related_party': Eval('party'),
},
- depends=['state', 'party'])
+ depends=['state', 'party', 'company'])
invoice_address = fields.Many2One('party.address', 'Invoice Address',
domain=[
('party', '=', If(Bool(Eval('invoice_party')),
diff -r 7f63793a1630 -r 1e72fa3df393 stock.py
--- a/stock.py Sat Feb 27 18:16:28 2021 +0100
+++ b/stock.py Fri Mar 05 15:49:19 2021 +0100
@@ -153,7 +153,12 @@
purchase = fields.Function(
fields.Many2One('purchase.purchase', 'Purchase'),
'get_purchase', searcher='search_purchase')
- supplier = fields.Function(fields.Many2One('party.party', 'Supplier'),
+ supplier = fields.Function(fields.Many2One(
+ 'party.party', 'Supplier',
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company']),
'get_supplier', searcher='search_supplier')
purchase_exception_state = fields.Function(fields.Selection([
('', ''),
diff -r 7f63793a1630 -r 1e72fa3df393 tests/test_purchase.py
--- a/tests/test_purchase.py Sat Feb 27 18:16:28 2021 +0100
+++ b/tests/test_purchase.py Fri Mar 05 15:49:19 2021 +0100
@@ -11,11 +11,14 @@
from trytond.pool import Pool
from trytond.modules.company.tests import (
- create_company, set_company, PartyCompanyCheckEraseMixin)
+ create_company, set_company, PartyCompanyCheckEraseMixin,
+ CompanyMultiValueTestMixin)
from trytond.modules.account.tests import create_chart
-class PurchaseTestCase(PartyCompanyCheckEraseMixin, ModuleTestCase):
+class PurchaseTestCase(
+ PartyCompanyCheckEraseMixin, CompanyMultiValueTestMixin,
+ ModuleTestCase):
'Test Purchase module'
module = 'purchase'