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'
 

Reply via email to