Linkage template
This commit is contained in:
@@ -1836,6 +1836,19 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
values.append(str(value or ''))
|
||||
return '\n'.join(values)
|
||||
|
||||
@classmethod
|
||||
def _report_table_rows(cls, rows, names, amount_names=()):
|
||||
result = []
|
||||
for row in rows:
|
||||
values = {}
|
||||
for index, name in enumerate(names):
|
||||
value = row[index]
|
||||
if name in amount_names:
|
||||
value = cls._report_amount(value)
|
||||
values[name] = str(value or '')
|
||||
result.append(values)
|
||||
return result
|
||||
|
||||
@property
|
||||
def report_linkage_title(self):
|
||||
purchase = self._get_report_linkage_purchase()
|
||||
@@ -1911,6 +1924,13 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
return self._report_column(
|
||||
self._get_report_linkage_summary_rows(), 3, amount=True)
|
||||
|
||||
@property
|
||||
def report_linkage_summary_rows(self):
|
||||
return self._report_table_rows(
|
||||
self._get_report_linkage_summary_rows(),
|
||||
('group', 'cost_type', 'estimated', 'validated'),
|
||||
{'estimated', 'validated'})
|
||||
|
||||
@property
|
||||
def report_linkage_movement_types(self):
|
||||
return self._report_column(self._get_report_linkage_movement_rows(), 0)
|
||||
@@ -1951,6 +1971,13 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
def report_linkage_movement_to_dates(self):
|
||||
return self._report_column(self._get_report_linkage_movement_rows(), 9)
|
||||
|
||||
@property
|
||||
def report_linkage_movement_rows(self):
|
||||
return self._report_table_rows(
|
||||
self._get_report_linkage_movement_rows(),
|
||||
('type', 'reference', 'counterpart', 'commodity', 'quantity',
|
||||
'delivery', 'basis', 'period', 'from_date', 'to_date'))
|
||||
|
||||
@property
|
||||
def report_linkage_bank_deal(self):
|
||||
purchase = self._get_report_linkage_purchase()
|
||||
@@ -2009,6 +2036,12 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
def report_linkage_pricing_input_prices(self):
|
||||
return self._report_column(self._get_report_linkage_pricing_rows(), 5)
|
||||
|
||||
@property
|
||||
def report_linkage_pricing_rows(self):
|
||||
return self._report_table_rows(
|
||||
self._get_report_linkage_pricing_rows(),
|
||||
('deal', 'side', 'type', 'symbol', 'period', 'input_price'))
|
||||
|
||||
@property
|
||||
def report_linkage_detail_groups(self):
|
||||
return self._report_column(self._get_report_linkage_detail_rows(), 0)
|
||||
@@ -2042,6 +2075,14 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
def report_linkage_detail_validated(self):
|
||||
return self._report_column(
|
||||
self._get_report_linkage_detail_rows(), 7, amount=True)
|
||||
|
||||
@property
|
||||
def report_linkage_detail_rows(self):
|
||||
return self._report_table_rows(
|
||||
self._get_report_linkage_detail_rows(),
|
||||
('group', 'cost_type', 'counterpart', 'source', 'unit_price',
|
||||
'quantity', 'estimated', 'validated'),
|
||||
{'estimated', 'validated'})
|
||||
|
||||
def get_rec_name(self, name=None):
|
||||
if self.number:
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user