Skip to content

Commit 2516ae0

Browse files
committed
consider non-mto cases
1 parent 9f9fcef commit 2516ae0

1 file changed

Lines changed: 22 additions & 11 deletions

File tree

purchase_mto_owner/models/stock_rule.py

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,34 @@
77
class StockRule(models.Model):
88
_inherit = "stock.rule"
99

10+
def _make_po_get_domain(self, company_id, values, partner):
11+
domain = super()._make_po_get_domain(company_id, values, partner)
12+
move_dest_recs = values.get("move_dest_ids")
13+
if move_dest_recs:
14+
origin_move = move_dest_recs[0]
15+
if origin_move.restrict_partner_id:
16+
domain += (("owner_id", "=", origin_move.restrict_partner_id.id),)
17+
return domain
18+
1019
def _prepare_purchase_order(self, company_id, origins, values):
1120
vals = super(StockRule, self)._prepare_purchase_order(
1221
company_id, origins, values
1322
)
1423
values = values[0]
1524
move_dest = values.get("move_dest_ids")
16-
origin_move = self._find_origin_move(move_dest[0])
17-
if origin_move:
18-
if origin_move.picking_id.owner_id:
19-
vals["owner_id"] = origin_move.picking_id.owner_id.id
20-
else:
21-
# Handle the case where mrp_production_ids exists
22-
mrp_productions = getattr(
23-
origin_move.group_id, "mrp_production_ids", None
24-
)
25-
if mrp_productions:
26-
vals["owner_id"] = mrp_productions[0].owner_id.id
25+
if move_dest:
26+
# TODO: Should we simply get restrict_partner_id from move_dest?
27+
origin_move = self._find_origin_move(move_dest[0])
28+
if origin_move:
29+
if origin_move.picking_id.owner_id:
30+
vals["owner_id"] = origin_move.picking_id.owner_id.id
31+
else:
32+
# Handle the case where mrp_production_ids exists
33+
mrp_productions = getattr(
34+
origin_move.group_id, "mrp_production_ids", None
35+
)
36+
if mrp_productions:
37+
vals["owner_id"] = mrp_productions[0].owner_id.id
2738
return vals
2839

2940
def _find_origin_move(self, move):

0 commit comments

Comments
 (0)