2
I create a regular purchase order
4
!record {model: purchase.order, id: purchase_order_po0}:
8
company_id: base.main_company
9
date_order: !eval time.strftime('%Y-%m-%d')
10
invoice_method: picking
11
location_id: stock.stock_location_stock
12
minimum_planned_date: !eval time.strftime('%Y-%m-%d')
13
partner_address_id: res_partner_address_0
14
partner_id: res_partner_africom0
15
pricelist_id: purchase.list0
17
delivery_confirmed_date: !eval time.strftime('%Y-%m-%d')
18
analytic_distribution_id: global_distrib_1
20
Then I add an order line to this purchase
22
!record {model: purchase.order.line, id: purchase_order_line_camembert0}:
23
company_id: base.main_company
24
date_planned: !eval time.strftime('%Y-%m-%d')
25
order_id: purchase_order_po0
26
partner_id: res_partner_africom0
28
product_id: product_product_camembert0
30
product_uom: product.product_uom_unit
32
analytic_distribution_id: global_distrib_1
34
We confirm the purchase
36
!workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_po0}
38
We validate the purchase
40
!workflow {model: purchase.order, action: purchase_approve, ref: purchase_order_po0}
42
We check that a commitment have been created for this PO 0. Then check commitment <-> PO link.
44
!python {model: account.commitment}: |
45
search_ids = self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_po0"))])
46
assert search_ids != False, "No commitment found"
47
purchase = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_po0"))
49
assert id in [x.id for x in purchase.commitment_ids], "No link between commitments and PO"
51
I create a PO with an Intermission partner.
53
!record {model: purchase.order, id: purchase_order_po1}:
57
company_id: base.main_company
58
date_order: !eval time.strftime('%Y-%m-%d')
59
invoice_method: picking
60
location_id: stock.stock_location_stock
61
minimum_planned_date: !eval time.strftime('%Y-%m-%d')
62
partner_address_id: res_partner_address_42
63
partner_id: res_partner_mission_42
64
pricelist_id: purchase.list0
66
delivery_confirmed_date: !eval time.strftime('%Y-%m-%d')
67
analytic_distribution_id: global_distrib_1
69
Then I add an order line to this purchase
71
!record {model: purchase.order.line, id: purchase_order_line_book_0}:
72
company_id: base.main_company
73
date_planned: !eval time.strftime('%Y-%m-%d')
74
order_id: purchase_order_po1
75
partner_id: res_partner_africom0
77
product_id: product_product_book0
79
product_uom: product.product_uom_unit
81
analytic_distribution_id: global_distrib_1
83
We confirm the purchase
85
!workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_po1}
87
We validate the purchase
89
!workflow {model: purchase.order, action: purchase_approve, ref: purchase_order_po1}
91
We check that NO commitments have been created for this PO 1. Then check commitment <-> PO link.
93
!python {model: account.commitment}: |
94
search_ids = self.search(cr, uid, [('purchase_id', '=', ref("purchase_order_po1"))])
95
assert search_ids == [], "Commitment found. This should not!"
96
purchase = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_po1"))
97
commitment_ids = [x.id for x in purchase.commitment_ids]
98
assert not commitment_ids, "This PO shouln't have ANY commitment!"