22 lines
905 B
Python
22 lines
905 B
Python
|
# -*- encoding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
from odoo import models
|
||
|
|
||
|
|
||
|
class StockRule(models.Model):
|
||
|
_inherit = 'stock.rule'
|
||
|
|
||
|
def _prepare_purchase_order(self, company_id, origins, values):
|
||
|
if 'partner_id' not in values[0] \
|
||
|
and (company_id.subcontracting_location_id.parent_path in self.location_dest_id.parent_path
|
||
|
or self.location_dest_id.is_subcontracting_location):
|
||
|
values[0]['partner_id'] = values[0]['group_id'].partner_id.id
|
||
|
return super()._prepare_purchase_order(company_id, origins, values)
|
||
|
|
||
|
def _make_po_get_domain(self, company_id, values, partner):
|
||
|
domain = super()._make_po_get_domain(company_id, values, partner)
|
||
|
if values.get('partner_id', False):
|
||
|
domain += (('dest_address_id', '=', values.get('partner_id')),)
|
||
|
return domain
|