# Copyright 2011 Akretion Sébastien BEAU # Copyright 2013 Camptocamp SA (author: Guewen Baconnier) # Copyright 2016 Sodexis # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import fields, models from odoo.tools import float_compare class StockPicking(models.Model): _inherit = "stock.picking" workflow_process_id = fields.Many2one( comodel_name="sale.workflow.process", string="Sale Workflow Process" ) def validate_picking(self): """Set quantities automatically and validate the pickings.""" for picking in self: picking.action_assign() for move in picking.move_ids.filtered( lambda m: m.picked and m.state not in ["done", "cancel"] ): rounding = move.product_id.uom_id.rounding if ( float_compare( move.quantity, move.product_qty, precision_rounding=rounding, ) == -1 ): for move_line in move.move_line_ids: move_line.quantity = move_line.quantity_product_uom picking.with_context(skip_immediate=True, skip_sms=True).button_validate() return True