FIX missing fields in 5.4 at issue9519.diff

This commit is contained in:
Raimon Esteve 2020-11-09 12:31:42 +01:00
parent 292eb17a5a
commit 156b6b54a7
1 changed files with 42 additions and 3 deletions

View File

@ -28,8 +28,8 @@ index 3d66f74..39db53a 100644
product_uom_category = fields.Function(
fields.Many2One('product.uom.category', 'Product Uom Category'),
'on_change_with_product_uom_category')
diff --git a/trytond/trytond/modules/sale/purchase.py b/trytond/trytond/modules/purchase/purchase.py
index 30ae987..c226385 100644
diff --git a/trytond/trytond/modules/purchase/purchase.py b/trytond/trytond/modules/purchase/purchase.py
index 30ae987..7f53983 100644
--- a/trytond/trytond/modules/purchase/purchase.py
+++ b/trytond/trytond/modules/purchase/purchase.py
@@ -967,6 +967,9 @@ class PurchaseLine(sequence_ordered(), ModelSQL, ModelView):
@ -42,7 +42,7 @@ index 30ae987..c226385 100644
'locations': If(Bool(Eval('_parent_purchase', {}).get(
'warehouse')),
[Eval('_parent_purchase', {}).get('warehouse', None)],
@@ -974,9 +977,6 @@ class PurchaseLine(sequence_ordered(), ModelSQL, ModelView):
@@ -974,16 +977,14 @@ class PurchaseLine(sequence_ordered(), ModelSQL, ModelView):
'stock_date_end': Eval('_parent_purchase', {}).get(
'purchase_date'),
'stock_skip_warehouse': True,
@ -52,3 +52,42 @@ index 30ae987..c226385 100644
'currency': Eval('_parent_purchase', {}).get('currency'),
'supplier': Eval('_parent_purchase', {}).get('party'),
'purchase_date': Eval('_parent_purchase', {}).get('purchase_date'),
'uom': Eval('unit'),
'taxes': Eval('taxes', []),
'quantity': Eval('quantity'),
- }, depends=['type', 'purchase_state', 'product_supplier'])
+ },
+ depends=['type', 'purchase_state', 'product_supplier', 'company'])
product_supplier = fields.Many2One(
'purchase.product_supplier', "Supplier's Product",
ondelete='RESTRICT',
@@ -1081,6 +1082,12 @@ class PurchaseLine(sequence_ordered(), ModelSQL, ModelView):
purchase_state = fields.Function(
fields.Selection(STATES, 'Purchase State'),
'on_change_with_purchase_state')
+ company = fields.Function(
+ fields.Many2One('company.company', "Company"),
+ 'on_change_with_company')
+ currency = fields.Function(
+ fields.Many2One('currency.currency', 'Currency'),
+ 'on_change_with_currency')
@classmethod
def __register__(cls, module_name):
@@ -1359,6 +1366,16 @@ class PurchaseLine(sequence_ordered(), ModelSQL, ModelView):
if self.purchase:
return self.purchase.state
+ @fields.depends('purchase', '_parent_purchase.company')
+ def on_change_with_company(self, name=None):
+ if self.purchase and self.purchase.company:
+ return self.purchase.company.id
+
+ @fields.depends('purchase', '_parent_purchase.currency')
+ def on_change_with_currency(self, name=None):
+ if self.purchase and self.purchase.currency:
+ return self.purchase.currency.id
+
def get_invoice_line(self):
'Return a list of invoice line for purchase line'
pool = Pool()