From 2009c99ea7fbd1b9f289002d31aeee84d887ea02 Mon Sep 17 00:00:00 2001
From: jordan <jordan@le-filament.com>
Date: Wed, 29 Sep 2021 12:05:48 +0200
Subject: [PATCH] [fix] bug on compute expiration_date in stock_move_line
 because of specific compute from lot_id

---
 models/__init__.py        |  1 +
 models/stock_move_line.py | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 models/stock_move_line.py

diff --git a/models/__init__.py b/models/__init__.py
index d9e7130..36bd4f2 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -7,6 +7,7 @@ from . import res_company
 from . import res_config_settings
 from . import sale_order
 from . import stock_move
+from . import stock_move_line
 from . import stock_picking
 from . import stock_production_lot
 from . import stock_quant
diff --git a/models/stock_move_line.py b/models/stock_move_line.py
new file mode 100644
index 0000000..802942d
--- /dev/null
+++ b/models/stock_move_line.py
@@ -0,0 +1,20 @@
+# Copyright 2021 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models, api
+
+
+class StockMoveLine(models.Model):
+    _inherit = 'stock.move.line'
+
+    @api.depends('product_id', 'picking_type_use_create_lots')
+    def _compute_expiration_date(self):
+        """
+        We need to overide this compute to get expiration_date compute in
+        lot_id instead of basic calcul made by odoo
+        """
+        for move_line in self:
+            if move_line.lot_id:
+                move_line.expiration_date = move_line.lot_id.expiration_date
+            else:
+                super(StockMoveLine, self)._compute_expiration_date()
-- 
GitLab