diff --git a/stock_picking_deposito/models/stock_picking.py b/stock_picking_deposito/models/stock_picking.py index 9340d11..f411011 100644 --- a/stock_picking_deposito/models/stock_picking.py +++ b/stock_picking_deposito/models/stock_picking.py @@ -4,6 +4,8 @@ from odoo import api, models, fields from odoo.exceptions import ValidationError +import logging +_logger = logging.getLogger(__name__) class PickingType(models.Model): _inherit = 'stock.picking.type' @@ -36,22 +38,24 @@ class Picking(models.Model): @api.onchange('partner_id') def onchange_partner_id(self): for picking in self: - if not self.partner_id: + if not picking.partner_id: return - if self.picking_type_id.is_deposit: - if self.picking_type_id.code == 'internal': - if not self.partner_id.deposit_sale_accept: + _logger.warning("onchange %s", self.location_dest_id.name) + if picking.picking_type_id.is_deposit: + if picking.picking_type_id.code == 'internal': + if not picking.partner_id.deposit_sale_accept: raise ValidationError("Éste cliente no acepta material en depósito, configúralo antes de crear un depósito para él.") return - self.location_dest_id = self.partner_id.deposit_sale_location_id.id, - elif self.picking_type_id.code == 'incoming': - if not self.partner_id.deposit_buy_accept: + picking.location_dest_id = picking.partner_id.deposit_sale_location_id.id, + elif picking.picking_type_id.code == 'incoming': + if not picking.partner_id.deposit_buy_accept: raise ValidationError("Éste proveedor no suministra material en depósito, configúralo antes de crear un depósito para él.") return - self.location_dest_id = self.partner_id.deposit_buy_location_id.id - moves = self.env['stock.move'].search([('picking_id', '=', self.id)]) + picking.location_dest_id = picking.partner_id.deposit_buy_location_id.id + moves = picking.env['stock.move'].search([('picking_id', '=', picking.id)]) for move in moves: - move.write({'partner_id': self.partner_id.id}, {'location_dest_id': self.location_dest_id}) + move.write({'partner_id': picking.partner_id.id}, {'location_dest_id': picking.location_dest_id}) + _logger.warning("onchange %s", picking.location_dest_id.name) def change_dest_location(self, vals, code): if vals.get('partner_id'):