oca-ocb-mrp/odoo-bringout-oca-ocb-mrp_subcontracting_dropshipping/mrp_subcontracting_dropshipping/models/stock_rule.py
Ernad Husremovic 6e65e8c877 19.0 vanilla
2026-03-09 09:31:47 +01:00

23 lines
1.1 KiB
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 not values[0].get('partner_id') \
and (company_id.subcontracting_location_id.parent_path in self.location_dest_id.parent_path
or self.location_dest_id.is_subcontract()):
move = values[0].get('move_dest_ids')
if move and move.raw_material_production_id.subcontractor_id:
values[0]['partner_id'] = move.raw_material_production_id.subcontractor_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 self.location_src_id.usage == 'supplier' and self.location_dest_id.is_subcontract() and values.get('partner_id', False):
domain += (('dest_address_id', '=', values.get('partner_id')),)
return domain