2
Creating a res.partner record
4
!record {model: res.partner, id: res_partner_a0}:
11
Creating a res.partner.address record
13
!record {model: res.partner.address, id: res_partner_address_0}:
14
partner_id: res_partner_a0
18
Creating a product.product record service with reception
20
!record {model: product.product, id: product_service_p0}:
26
Creating a product.product record service with reception
28
!record {model: product.product, id: product_service_recep_p1}:
32
procure_method: make_to_order
35
Creating a product.product record stockable
37
!record {model: product.product, id: product_stockable_p2}:
44
0. I create a purchase order with service category.
45
I create a line with service with non service product.
48
Creating a purchase.order record
50
!record {model: purchase.order, id: purchase_order_po00}:
51
partner_id: res_partner_a0
52
partner_address_id: res_partner_address_0
53
pricelist_id: product.list0
54
location_id: stock.stock_location_stock
58
Creating a purchase.order.line record for service product
60
!record {model: purchase.order.line, id: purchase_order_line_p00}:
61
order_id: purchase_order_po00
63
product_id: product_service_p0
64
product_uom: product.product_uom_unit
68
I change the product for a stockable product in the line. An exception is raised.
71
!python {model: purchase.order.line}: |
72
from osv.orm import except_orm
73
pol = self.browse(cr, uid, ref("purchase_order_line_p00"), context=context)
75
pol.write({'product_id': ref("product_stockable_p2")}, context=None)
76
except except_orm as e:
77
# ok the constraint is triggered
81
assert False, 'The constraint: "Purchase Order of type Category Service should contain only Service with Reception Products." has not been triggered'