diff --git a/modules/purchase_trade/lot.py b/modules/purchase_trade/lot.py index 95db10d..9035662 100755 --- a/modules/purchase_trade/lot.py +++ b/modules/purchase_trade/lot.py @@ -2811,6 +2811,11 @@ class LotReport( r_lot_price_sale = fields.Function(fields.Numeric("Price", digits='r_lot_unit_line'),'get_lot_sale_price') r_purchase_reference = fields.Function( fields.Char("Purchase Ref."), 'get_purchase_reference') + r_purchase_creator = fields.Function( + fields.Many2One('res.user', "Purchase Created By"), + 'get_purchase_creator') + r_purchase_date = fields.Function( + fields.Date("Purchase Date"), 'get_purchase_date') r_sale_reference = fields.Function( fields.Char("Sale Ref."), 'get_sale_reference') r_purchase_line_price = fields.Function( @@ -3060,6 +3065,13 @@ class LotReport( def get_purchase_reference(self, name=None): return self._contract_reference(self.r_purchase) + def get_purchase_creator(self, name=None): + creator = getattr(self.r_purchase, 'create_uid', None) + return getattr(creator, 'id', creator) + + def get_purchase_date(self, name=None): + return getattr(self.r_purchase, 'purchase_date', None) + def get_sale_reference(self, name=None): return self._contract_reference(self.r_sale) diff --git a/modules/purchase_trade/tests/test_module.py b/modules/purchase_trade/tests/test_module.py index 7039923..dea188e 100644 --- a/modules/purchase_trade/tests/test_module.py +++ b/modules/purchase_trade/tests/test_module.py @@ -2615,6 +2615,19 @@ class PurchaseTradeTestCase(ModuleTestCase): self.assertEqual(report.get_shipment_type(None), 'dropship') + def test_lot_report_exposes_purchase_creator_and_date(self): + 'lots management exposes the purchase creator and purchase date' + LotReport = Pool().get('lot.report') + report = LotReport() + report.r_purchase = Mock( + create_uid=Mock(id=42), + purchase_date=datetime.date(2026, 6, 22), + ) + + self.assertEqual(report.get_purchase_creator(), 42) + self.assertEqual( + report.get_purchase_date(), datetime.date(2026, 6, 22)) + @with_transaction() def test_shipment_in_quantity_uses_lotqt_without_physical_moves(self): 'shipment quantity falls back to linked open lots before physical moves' diff --git a/modules/purchase_trade/view/lot_report_list.xml b/modules/purchase_trade/view/lot_report_list.xml index 650fec7..7f23809 100755 --- a/modules/purchase_trade/view/lot_report_list.xml +++ b/modules/purchase_trade/view/lot_report_list.xml @@ -6,6 +6,8 @@ + +