TIP: You can type at any time to perform a new search.

Security findings

Repository
OCA/stock-logistics-workflow · module folder · Try on Runboat
Module version
1.0.0
Category
Uncategorized
Folder size
0.07 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-workflow
Last tracking update
2026-10-03 23:25:07
Authors
ACSONE SA/NV, Odoo Community Association (OCA), BCIM
Maintainers
ACSONE SA/NV, Odoo Community Association (OCA), BCIM
Committers
Laurent Mignon (ACSONE), OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module adds a quant lock mechanism based on standard stock reservations.
When a quant is locked, its non-reserved quantity is reserved by a dedicated
stock picking so it cannot be consumed by other operations.

The lock operation is done through a selectable operation type (picking type)
explicitly configured for quant locking. Unlocking cancels the lock picking,
which releases the corresponding reservation while keeping full traceability
through standard Odoo stock documents.

Code Analysis info_outline

Views touched (6)
XML IDNameModelTypeStatus
quant_search_view_quant_lock stock.quant.search.quant.lock stock.quant search Inherits stock.quant_search_view
view_picking_type_form_quant_lock stock.picking.type.form.quant.lock stock.picking.type form Inherits stock.view_picking_type_form
view_stock_quant_form_editable_quant_lock stock.quant.form.editable.quant.lock stock.quant form Inherits stock.view_stock_quant_form_editable
view_stock_quant_lock_wizard_form stock.quant.lock.wizard.form stock.quant.lock.wizard form New
view_stock_quant_tree_editable_quant_lock stock.quant.tree.editable.quant.lock stock.quant tree Inherits stock.view_stock_quant_tree_editable
view_stock_quant_tree_quant_lock stock.quant.tree.quant.lock stock.quant tree Inherits stock.view_stock_quant_tree
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • quant_lock_quant_id Many2one → stock.quant
    comodel_name='stock.quant' copy=False index=True string='Locked quant'
Public methods (0)

No public methods.

New fields (1)
  • allow_quant_lock Boolean
    help='If checked, this operation type can be used to lock stock quants.' string='Allow quant lock'
Public methods (0)

No public methods.

New fields (3)
  • is_locked_by_picking Boolean
    compute='_compute_is_locked_by_picking' index=True store=True string='Locked by issue'
  • lock_move_count Integer
    compute='_compute_lock_move_count'
  • lock_move_ids One2many → stock.move
    comodel_name='stock.move' inverse_name='quant_lock_quant_id' readonly=True string='Lock Moves'
Public methods (3)
  • action_open_lock_wizard(self)
  • action_unlock_quant(self)
  • action_view_lock_moves(self)

New fields (2)
  • picking_type_id Many2one → stock.picking.type
    comodel_name='stock.picking.type' domain="[('allow_quant_lock', '=', True)]" required=True string='Operation Type'
  • quant_ids Many2many → stock.quant
    comodel_name='stock.quant' readonly=True string='Quants'
Public methods (2)
  • action_lock(self)
  • default_get(self, fields_list)