20 lines
781 B
Python
20 lines
781 B
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
from odoo import models
|
||
|
|
||
|
|
||
|
class StockPicking(models.Model):
|
||
|
_inherit = 'stock.picking'
|
||
|
|
||
|
def _create_move_from_pos_order_lines(self, lines):
|
||
|
lines_to_unreserve = self.env['pos.order.line']
|
||
|
for line in lines:
|
||
|
if line.order_id.to_ship:
|
||
|
continue
|
||
|
if any(wh != line.order_id.config_id.warehouse_id for wh in line.sale_order_line_id.move_ids.location_id.warehouse_id):
|
||
|
continue
|
||
|
lines_to_unreserve |= line
|
||
|
lines_to_unreserve.sale_order_line_id.move_ids.filtered(lambda ml: ml.state not in ['cancel', 'done'])._do_unreserve()
|
||
|
return super()._create_move_from_pos_order_lines(lines)
|