This question has been flagged

I have 2 product category (Unit and Sparepart). Then I want to add division field with selection type in form Purchase Order like this :

purchase_order.py

from openerp.osv import osv, fields
class po(osv.osv):
    _inherit = 'purchase.order'
    _columns = {
                'division':fields.selection([('t','Unit'),('s','Sparepart')], 'Division', change_default=True, select=True)
                }
   
po()


purchase_order_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

<record model="ir.ui.view" id="po_form_view">
    <field name="name">purchase_order</field>
    <field name="model">purchase.order</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="purchase.purchase_order_form"/>
    <field name="arch" type="xml">
        
        <field name="partner_id" position="after">
            <field name="division" on_change="onchange_division(division)"/>
        </field>

    <field/>
</record>

</data>
</openerp>

The Issue is : I want if I choose Unit in division field so domain for Product field are Product which categ_id = 'Unit' and if I choose Sparepart so domain for Product field are Product which categ_id = 'Sparepart'. How to do it (with onchange method) ?

Avatar
Discard
Best Answer

HI you can build the domain in onchange_event

you can check the value of division field in onchange. based on the values build the domain and return the output

return {'value':your_value,'domain':your_domain}

Avatar
Discard