Hi everyone. I have a custom module which add and update supplier price and code, from PO line.
I have add a boolean field in PO line.
I would like not update supplier price, if boolean field is True.
Can anyone help me? I'm not a developer, and I don't know how do it.
Below code with part interested Bold
Thanks
class PurchaseOrderLine(models.Model): _inherit = 'purchase.order.line' product_supplier_code = fields.Char(string='Product Supplier Code') not_update = fields.Boolean(string='Not update price') @api.onchange( 'partner_id', 'product_id', ) def _onchange_product_code(self): for line in self: supplier_info = line.product_id.seller_ids.filtered( lambda s: ( s.product_id == line.product_id and s.name == line.partner_id ) ) if supplier_info: code = supplier_info[0].product_code or '' line.product_supplier_code = code else: supplier_info = line.product_id.seller_ids.filtered( lambda s: ( s.product_tmpl_id == line.product_id.product_tmpl_id and s.name == line.partner_id ) ) if supplier_info: code = supplier_info[0].product_code or '' line.product_supplier_code = code class PurchaseOrder(models.Model): _inherit = 'purchase.order' def _add_supplier_to_product(self): super()._add_supplier_to_product() for line in self.order_line: partner = ( self.partner_id if not self.partner_id.parent_id else self.partner_id.parent_id ) if partner in line.product_id.seller_ids.mapped('name'): seller = line.product_id._select_seller( partner_id=line.partner_id, quantity=line.product_qty, date=line.order_id.date_order and line.order_id.date_order.date(), uom_id=line.product_uom, ) if seller: try: seller['product_code'] = line.product_supplier_code seller['price'] = line.price_unit except AccessError: break