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
Inventory
Folder size
0.05 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-workflow
Last tracking update
2026-10-03 23:56:57
Authors
Odoo Community Association (OCA), ForgeFlow
Maintainers
Odoo Community Association (OCA), ForgeFlow
Committers
JordiMForgeFlow, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
In Odoo < 17, when validating a stock transfer where all lines had reserved
quantities but no done quantities were recorded, a wizard would warn the user
that all reserved quantities would be processed, giving them the option to
cancel or proceed.

Since Odoo >= 17, the `qty_done` field was replaced by a `picked` boolean on stock
moves. However, when no move has been explicitly marked as picked, Odoo
silently marks all moves as picked and processes the transfer without any
warning.

This module restores the previous behavior by showing a confirmation wizard
when validating a transfer where no moves have been explicitly picked. The user
can then choose to proceed with processing all reserved quantities or discard
the operation. We only show the wizard when the validation is done from the UI, to prevent other logics to fail.

Code Analysis info_outline

Views touched (2)
XML IDNameModelTypeStatus
view_immediate_transfer_warning stock.immediate.transfer.warning.form stock.immediate.transfer.warning form New
view_picking_form stock.picking.form - stock_picking_immediate_transfer_warning stock.picking form Inherits stock.view_picking_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (2)
  • immediate_transfer_warning_line_ids One2many → stock.immediate.transfer.warning.line
    string='Immediate Transfer Warning Lines' args: 'stock.immediate.transfer.warning.line', 'immediate_transfer_warning_id'
  • pick_ids Many2many → stock.picking
    args: 'stock.picking', 'stock_picking_immediate_rel'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
  • process(self)

New fields (2)
  • immediate_transfer_warning_id Many2one → stock.immediate.transfer.warning
    args: 'stock.immediate.transfer.warning', 'Immediate Transfer Warning'
  • picking_id Many2one → stock.picking
    args: 'stock.picking', 'Transfer'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.