This question has been flagged
2135 Views

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?


Avatar
Discard