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'
 

Reply via email to