bemade-addons/picking_policy_per_customer/models/sale_order.py
2025-01-15 10:40:32 -05:00

21 lines
No EOL
785 B
Python

from odoo import api, models
class SaleOrder(models.Model):
_inherit = 'sale.order'
@api.onchange('partner_id')
def _onchange_partner_id(self):
if self.partner_id and self.partner_id.picking_policy:
self.picking_policy = self.partner_id.picking_policy
else:
self.picking_policy = self.env['ir.config_parameter'].sudo().get_param('sale.default_picking_policy', 'direct')
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get('partner_id'):
partner = self.env['res.partner'].browse(vals['partner_id'])
if partner.picking_policy:
vals['picking_policy'] = partner.picking_policy
return super().create(vals_list)