26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, models
|
|
|
|
|
|
class ChooseDestinationLocation(models.TransientModel):
|
|
_inherit = "stock.package.destination"
|
|
|
|
def _compute_move_line_ids(self):
|
|
destination_without_batch = self.env['stock.package.destination']
|
|
for destination in self:
|
|
if not destination.picking_id.batch_id:
|
|
destination_without_batch |= destination
|
|
continue
|
|
destination.move_line_ids = destination.picking_id.batch_id.move_line_ids.filtered(lambda l: l.quantity > 0 and not l.result_package_id)
|
|
super(ChooseDestinationLocation, destination_without_batch)._compute_move_line_ids()
|
|
|
|
def action_done(self):
|
|
if self.picking_id.batch_id:
|
|
# set the same location on each move line and pass again in action_put_in_pack
|
|
self.move_line_ids.location_dest_id = self.location_dest_id
|
|
return self.picking_id.batch_id.action_put_in_pack()
|
|
else:
|
|
return super().action_done()
|