Hallo
Have a function that should limit the product when a model is choosen: (all the code)
class boatcompany_product(osv.osv):
_inherit = "product.product"
_columns = {
"boatlength": fields.char("Boat Length", size=10),
"fuelcapacity": fields.char("Fuel Capacity", size=10),
"modeloptions_id":fields.many2one("product.category", "Model Options")
}
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
if context is None:
context = {}
if context.get('boatmodel_id'):
productobj=self.pool.get('product.product').read(cr, uid, context['boatmodel_id'], ['modeloptions_id'])
args = [('categ_id', '=', productobj['modeloptions_id'] [0])] + args
return super(boatcompany_product, self).search(cr, uid, args, offset, limit, order, context=context, count=count)
class sale_order(osv.osv):
_inherit = "sale.order"
_columns = {
"boatmodel_id": fields.many2one("product.product", "Boat Model", domain=[('categ_id.name', '=', 'Boat Models')])
}
In the view I have this:
<record id="sale_view_order_form" model="ir.ui.view">
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="boatmodel_id" />
</field>
<xpath expr="//field[@name='product_id']" position="attributes">
<attribute name="context">{'boatmodel_id': parent.boatmodel_id}</attribute>
</xpath>
</field>
</record>
Can someone let me know why this function is not called when I choose a model?