[FIX] purchase: hook to allow override of domain
Add a hook to allow the hardcoded domain in the method `make_po`, in procurement order. Base on work by @Cedric-Pigeon opw-744606 Closes #17147
This commit is contained in:
@@ -988,6 +988,21 @@ class ProcurementOrder(models.Model):
|
||||
"""
|
||||
return suppliers[0]
|
||||
|
||||
def _make_po_get_domain(self, partner):
|
||||
gpo = self.rule_id.group_propagation_option
|
||||
group = (gpo == 'fixed' and self.rule_id.group_id) or \
|
||||
(gpo == 'propagate' and self.group_id) or False
|
||||
|
||||
domain = (
|
||||
('partner_id', '=', partner.id),
|
||||
('state', '=', 'draft'),
|
||||
('picking_type_id', '=', self.rule_id.picking_type_id.id),
|
||||
('company_id', '=', self.company_id.id),
|
||||
('dest_address_id', '=', self.partner_dest_id.id))
|
||||
if group:
|
||||
domain += (('group_id', '=', group.id),)
|
||||
return domain
|
||||
|
||||
@api.multi
|
||||
def make_po(self):
|
||||
cache = {}
|
||||
@@ -1001,18 +1016,7 @@ class ProcurementOrder(models.Model):
|
||||
supplier = procurement._make_po_select_supplier(suppliers)
|
||||
partner = supplier.name
|
||||
|
||||
gpo = procurement.rule_id.group_propagation_option
|
||||
group = (gpo == 'fixed' and procurement.rule_id.group_id) or \
|
||||
(gpo == 'propagate' and procurement.group_id) or False
|
||||
|
||||
domain = (
|
||||
('partner_id', '=', partner.id),
|
||||
('state', '=', 'draft'),
|
||||
('picking_type_id', '=', procurement.rule_id.picking_type_id.id),
|
||||
('company_id', '=', procurement.company_id.id),
|
||||
('dest_address_id', '=', procurement.partner_dest_id.id))
|
||||
if group:
|
||||
domain += (('group_id', '=', group.id),)
|
||||
domain = procurement._make_po_get_domain(partner)
|
||||
|
||||
if domain in cache:
|
||||
po = cache[domain]
|
||||
|
||||
Reference in New Issue
Block a user