From 212110a196d89ba05c4470488b17bd90f8aa22ab Mon Sep 17 00:00:00 2001
From: Josse Colpaert <jco@odoo.com>
Date: Tue, 3 Oct 2017 10:13:55 +0200
Subject: [PATCH] [IMP] stock: only allow positive or zero quantities done

Add a constraint in order to forbid it.
---
 addons/stock/models/stock_move_line.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/addons/stock/models/stock_move_line.py b/addons/stock/models/stock_move_line.py
index daeb05dbea1f..8c291a7eafed 100644
--- a/addons/stock/models/stock_move_line.py
+++ b/addons/stock/models/stock_move_line.py
@@ -109,6 +109,11 @@ class StockMoveLine(models.Model):
                 res['warning'] = {'title': _('Warning'), 'message': message}
         return res
 
+    @api.constrains('qty_done')
+    def _check_positive_qty_done(self):
+        if any([ml.qty_done < 0 for ml in self]):
+            raise ValidationError(_('You can not enter negative quantities!'))
+
     @api.constrains('lot_id', 'lot_name', 'qty_done')
     def _check_unique_serial_number(self):
         for ml in self.filtered(lambda ml: ml.move_id.product_id.tracking == 'serial' and (ml.lot_id or ml.lot_name)):
-- 
GitLab