Hi i'm making a inheritance module from sale. I need to make an order line that only shows up the related product from Sale order type
master data model
class SalesOrderType(models.Model):
_name = 'sales.order.type'
_description = 'Sales Order Type'
name = fields.Char(string='Type Name', required=True)
product_ids = fields.Many2many('product.product', string='Related Products')
for the selection form model
class SaleOrder(models.Model):
_inherit = 'sale.order'
order_type_id = fields.Many2one('sales.order.type', string='Order Type')
@api.onchange('order_type_id')
def _onchange_order_type(self):
print("Order Type ID:", self.order_type_id.id)
for line in self.order_line:
line.order_type_id = self.order_type_id
for the order lines model
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
@api.onchange('order_type_id')
def _onchange_order_type(self):
if self.order_type_id:
# Apply domain to product_id field based on order_type_id
return {
'domain': {
'product_id': [('id', 'in', self.order_type_id.product_ids.ids)]
}
}
The view
sale.order.form.inherit
sale.order
{'default_order_type_id': order_type_id}
These all didn't work. What should i do? im so confused...