mo_lock_consumed/models/stock_move.py

22 lines
755 B
Python

from odoo import models
class StockMove(models.Model):
_inherit = 'stock.move'
def _should_bypass_set_qty_producing(self):
"""
Prevent auto-update of consumed quantity if:
- The move already has a quantity set (partial consumption).
- The move is already picked.
"""
if self.sudo().quantity > 0 or self.sudo().picked or self.sudo().manual_consumption:
return True
return super()._should_bypass_set_qty_producing()
def write(self, vals):
# Enforce manual usage flags if quantity is being set
if 'quantity' in vals and vals['quantity'] > 0:
vals['manual_consumption'] = True
vals['picked'] = True
return super().write(vals)