From 14322fc4031be23b14428b26cbad94935818be2e Mon Sep 17 00:00:00 2001
From: Yoshi Tashiro <tashiro@quartile.co>
Date: Sat, 2 Oct 2021 03:15:24 +0000
Subject: [PATCH] [FIX] stock: allow creating a scrap with more than 2 decimals
 in qty

scrap_qty field was missing the digits attribute, and therefore the user
could not create a scrap with a quantity with more than two decimal places.
With this commit, scrap_qty will follow the 'Product Unit of Measure'
precision setting, just like any other quantity fields.

closes odoo/odoo#77652

Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
---
 addons/stock/models/stock_scrap.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/addons/stock/models/stock_scrap.py b/addons/stock/models/stock_scrap.py
index 9a9ccd519436..f5b4205574cd 100644
--- a/addons/stock/models/stock_scrap.py
+++ b/addons/stock/models/stock_scrap.py
@@ -4,6 +4,7 @@
 from odoo import api, fields, models, _
 from odoo.exceptions import UserError
 from odoo.tools import float_compare
+from odoo.addons import decimal_precision as dp
 
 
 class StockScrap(models.Model):
@@ -48,7 +49,7 @@ class StockScrap(models.Model):
     scrap_location_id = fields.Many2one(
         'stock.location', 'Scrap Location', default=_get_default_scrap_location_id,
         domain="[('scrap_location', '=', True)]", required=True, states={'done': [('readonly', True)]})
-    scrap_qty = fields.Float('Quantity', default=1.0, required=True, states={'done': [('readonly', True)]})
+    scrap_qty = fields.Float('Quantity', default=1.0, required=True, states={'done': [('readonly', True)]}, digits=dp.get_precision('Product Unit of Measure'))
     state = fields.Selection([
         ('draft', 'Draft'),
         ('done', 'Done')], string='Status', default="draft")
-- 
GitLab