From a708fa2213905158bd3f198f4242f80ce1f776a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Bernardi?= Date: Thu, 18 Jun 2020 17:05:40 -0300 Subject: [PATCH] lims_sale: show sales attachments in results report --- lims_sale/__init__.py | 1 + lims_sale/results_report.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lims_sale/__init__.py b/lims_sale/__init__.py index 0dc41873..f9aed0b6 100644 --- a/lims_sale/__init__.py +++ b/lims_sale/__init__.py @@ -34,4 +34,5 @@ def register(): sample.CreateSample, results_report.OpenSampleSale, results_report.OpenResultsDetailSale, + results_report.OpenResultsDetailAttachment, module='lims_sale', type_='wizard') diff --git a/lims_sale/results_report.py b/lims_sale/results_report.py index 08644c3d..20237185 100644 --- a/lims_sale/results_report.py +++ b/lims_sale/results_report.py @@ -3,7 +3,7 @@ # the full copyright notices and license terms. from trytond.wizard import Wizard, StateAction -from trytond.pool import Pool +from trytond.pool import Pool, PoolMeta from trytond.pyson import PYSONEncoder from trytond.transaction import Transaction @@ -63,3 +63,16 @@ class OpenResultsDetailSale(Wizard): ]) action['name'] += ' (%s)' % ', '.join(d.rec_name for d in details) return action, {} + + +class OpenResultsDetailAttachment(metaclass=PoolMeta): + __name__ = 'lims.results_report.version.detail.open_attachment' + + def get_resource(self, details): + res = super(OpenResultsDetailAttachment, self).get_resource(details) + for detail in details: + for s in detail.samples: + if s.notebook.fraction.sample.sale_lines: + for sale_line in s.notebook.fraction.sample.sale_lines: + res.append(self._get_resource(sale_line.sale)) + return res