line: counterpart-values for split-lines + tests
This commit is contained in:
parent
7ff631d850
commit
a397fe22a2
2 changed files with 26 additions and 7 deletions
16
line.py
16
line.py
|
@ -144,15 +144,25 @@ class Line(SecondUomMixin, metaclass=PoolMeta):
|
|||
return result
|
||||
|
||||
@classmethod
|
||||
def get_counterpart_values(cls, line, values={}):
|
||||
def get_counterpart_values(cls, line, splitline=None, values={}):
|
||||
""" add quantity to counterpart
|
||||
"""
|
||||
result = super(Line, cls).get_counterpart_values(line, values)
|
||||
result = super(Line, cls).get_counterpart_values(
|
||||
line,
|
||||
splitline = splitline,
|
||||
values = values
|
||||
)
|
||||
|
||||
line_uom = getattr(line.quantity_uom, 'id', None)
|
||||
booktransf_uom = getattr(getattr(line.booktransf, 'quantity_uom', {}), 'id', None)
|
||||
|
||||
if booktransf_uom is None:
|
||||
if getattr(splitline, 'quantity', None) is not None:
|
||||
# we add values to the counterpart of a splitbooking-line
|
||||
result.update({
|
||||
'quantity': splitline.quantity,
|
||||
'quantity_2nd_uom': None,
|
||||
})
|
||||
elif booktransf_uom is None:
|
||||
# counterpart-cashbook has no uom -> no quantity
|
||||
result.update({
|
||||
'quantity': None,
|
||||
|
|
|
@ -1390,11 +1390,20 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
|
|||
self.assertEqual(books[0].lines[0].splitlines[1].quantity, Decimal('2.5'))
|
||||
self.assertEqual(books[0].lines[0].splitlines[1].booktransf.rec_name,
|
||||
'Book 2 | -6.00 usd | Open | -2.50 u')
|
||||
self.assertEqual(len(books[0].lines[0].references), 0)
|
||||
self.assertEqual(len(books[0].lines[0].references), 1)
|
||||
self.assertEqual(books[0].lines[0].references[0].rec_name,
|
||||
'05/01/2022|to|-6.00 usd|from cashbook [Book 1 | 11.00 usd | Open | 4.00 u]|2.50 u')
|
||||
self.assertEqual(books[0].lines[0].reference, None)
|
||||
|
||||
self.assertEqual(books[1].rec_name, 'Book 2 | 0.00 usd | Open | 0.00 u')
|
||||
self.assertEqual(books[1].balance_all, Decimal('0.0'))
|
||||
self.assertEqual(len(books[1].lines), 0)
|
||||
self.assertEqual(books[1].rec_name, 'Book 2 | -6.00 usd | Open | -2.50 u')
|
||||
self.assertEqual(books[1].balance_all, Decimal('-6.0'))
|
||||
self.assertEqual(len(books[1].lines), 1)
|
||||
self.assertEqual(books[1].lines[0].rec_name,
|
||||
'05/01/2022|to|-6.00 usd|from cashbook [Book 1 | 11.00 usd | Open | 4.00 u]|2.50 u')
|
||||
|
||||
# TODO:
|
||||
# - splitbuchung mit unterschiedlichen einheiten einer kategorie
|
||||
# - splitbuchung mit unterschiedlichen einheiten verschiedener kategorien
|
||||
# in/out-splitbuchung
|
||||
|
||||
# end CbInvTestCase
|
||||
|
|
Loading…
Reference in a new issue