changeset 8ebb6505676c in modules/sale:default
details: https://hg.tryton.org/modules/sale?cmd=changeset;node=8ebb6505676c
description:
Add test on context of company multivalue target fields
issue10067
review333851026
diffstat:
product.py | 7 ++++++-
sale.py | 20 ++++++++++++++++----
sale_reporting.py | 21 ++++++++++++++++++---
tests/test_sale.py | 7 +++++--
4 files changed, 45 insertions(+), 10 deletions(-)
diffs (136 lines):
diff -r 7265e4969e9c -r 8ebb6505676c product.py
--- a/product.py Sat Feb 27 18:16:28 2021 +0100
+++ b/product.py Fri Mar 05 15:49:19 2021 +0100
@@ -192,7 +192,12 @@
domain=[('type', '=', 'warehouse')])
company = fields.Many2One('company.company', "Company")
currency = fields.Many2One('currency.currency', "Currency")
- customer = fields.Many2One('party.party', "Customer")
+ customer = fields.Many2One(
+ 'party.party', "Customer",
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
sale_date = fields.Date("Sale Date")
quantity = fields.Float("Quantity")
diff -r 7265e4969e9c -r 8ebb6505676c sale.py
--- a/sale.py Sat Feb 27 18:16:28 2021 +0100
+++ b/sale.py Fri Mar 05 15:49:19 2021 +0100
@@ -99,24 +99,33 @@
'readonly': ((Eval('state') != 'draft')
| (Eval('lines', [0]) & Eval('party'))),
},
- depends=['state'])
+ context={
+ 'company': Eval('company', -1),
+ },
+ 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')),
@@ -131,10 +140,13 @@
states={
'readonly': (Eval('state') != 'draft'),
},
+ context={
+ 'company': Eval('company', -1),
+ },
search_context={
'related_party': Eval('party'),
},
- depends=['state', 'party'])
+ depends=['state', 'party', 'company'])
shipment_address = fields.Many2One('party.address', 'Shipment Address',
domain=[
('party', '=', If(Bool(Eval('shipment_party')),
diff -r 7265e4969e9c -r 8ebb6505676c sale_reporting.py
--- a/sale_reporting.py Sat Feb 27 18:16:28 2021 +0100
+++ b/sale_reporting.py Fri Mar 05 15:49:19 2021 +0100
@@ -275,7 +275,12 @@
class CustomerMixin(object):
__slots__ = ()
- customer = fields.Many2One('party.party', "Customer")
+ customer = fields.Many2One(
+ 'party.party', "Customer",
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
@classmethod
def _columns(cls, tables, withs):
@@ -318,7 +323,12 @@
class ProductMixin(object):
__slots__ = ()
- product = fields.Many2One('product.product', "Product")
+ product = fields.Many2One(
+ 'product.product', "Product",
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
@classmethod
def _columns(cls, tables, withs):
@@ -368,7 +378,12 @@
class CategoryMixin(object):
__slots__ = ()
- category = fields.Many2One('product.category', "Category")
+ category = fields.Many2One(
+ 'product.category', "Category",
+ context={
+ 'company': Eval('company', -1),
+ },
+ depends=['company'])
@classmethod
def _joins(cls):
diff -r 7265e4969e9c -r 8ebb6505676c tests/test_sale.py
--- a/tests/test_sale.py Sat Feb 27 18:16:28 2021 +0100
+++ b/tests/test_sale.py Fri Mar 05 15:49:19 2021 +0100
@@ -12,10 +12,13 @@
from trytond.modules.account.tests import create_chart
from trytond.modules.company.tests import (
- create_company, set_company, PartyCompanyCheckEraseMixin)
+ create_company, set_company, PartyCompanyCheckEraseMixin,
+ CompanyMultiValueTestMixin)
-class SaleTestCase(PartyCompanyCheckEraseMixin, ModuleTestCase):
+class SaleTestCase(
+ PartyCompanyCheckEraseMixin, CompanyMultiValueTestMixin,
+ ModuleTestCase):
'Test Sale module'
module = 'sale'