Custom duplicate bug
This commit is contained in:
@@ -2148,6 +2148,8 @@ class Line(metaclass=PoolMeta):
|
||||
return
|
||||
if values.get('estimated_date') is None:
|
||||
values['estimated_date'] = []
|
||||
elif isinstance(values['estimated_date'], tuple):
|
||||
values['estimated_date'] = list(values['estimated_date'])
|
||||
values['estimated_date'].append(('create', [{
|
||||
'trigger': 'bldate',
|
||||
'estimated_date': estimated_date,
|
||||
|
||||
@@ -1975,6 +1975,8 @@ class SaleLine(metaclass=PoolMeta):
|
||||
return
|
||||
if values.get('estimated_date') is None:
|
||||
values['estimated_date'] = []
|
||||
elif isinstance(values['estimated_date'], tuple):
|
||||
values['estimated_date'] = list(values['estimated_date'])
|
||||
values['estimated_date'].append(('create', [{
|
||||
'trigger': 'bldate',
|
||||
'estimated_date': estimated_date,
|
||||
|
||||
@@ -4409,6 +4409,34 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
'estimated_date': datetime.date(2026, 5, 1),
|
||||
}])])
|
||||
|
||||
def test_purchase_and_sale_line_default_estimated_bl_date_accepts_tuple(self):
|
||||
'new lines normalize tuple estimated date commands before appending'
|
||||
PurchaseLine = Pool().get('purchase.line')
|
||||
SaleLine = Pool().get('sale.line')
|
||||
period = Mock(beg_date=datetime.date(2026, 5, 1))
|
||||
existing = ('create', [{
|
||||
'trigger': 'other',
|
||||
'estimated_date': datetime.date(2026, 5, 9),
|
||||
}])
|
||||
purchase_values = {
|
||||
'del_period': period,
|
||||
'estimated_date': (existing,),
|
||||
}
|
||||
sale_values = {
|
||||
'del_period': period,
|
||||
'estimated_date': (existing,),
|
||||
}
|
||||
|
||||
PurchaseLine._set_default_estimated_bl_date_values(purchase_values)
|
||||
SaleLine._set_default_estimated_bl_date_values(sale_values)
|
||||
|
||||
expected = [existing, ('create', [{
|
||||
'trigger': 'bldate',
|
||||
'estimated_date': datetime.date(2026, 5, 1),
|
||||
}])]
|
||||
self.assertEqual(purchase_values['estimated_date'], expected)
|
||||
self.assertEqual(sale_values['estimated_date'], expected)
|
||||
|
||||
def test_purchase_line_reporting_parent_fields_and_counts(self):
|
||||
'purchase line reporting fields mirror parent values and relation counts'
|
||||
PurchaseLine = Pool().get('purchase.line')
|
||||
|
||||
Reference in New Issue
Block a user