My .py code is
from openerp.osv import fields, osv
class autobuy(osv.osv):
_name = "auto.buy"
_description = "AutoBuy Customers"
_columns = {
'name' : fields.char('Year',required=True),
'make': fields.char('Make', required=True),
'model' : fields.char('Model', required=True),
'service': fields.char('Service ID'),
}
class servicesales(osv.osv):
_name = "service.sale"
_description = "service"
_columns = {
'name': fields.char('Year', required=True),
'make': fields.char('Make', required=True),
'model': fields.char('Model', required=True),
'serviceid': fields.many2one('auto.buy','Service ID', select=True),
}
My xml code is
<openerp>
<data>
<record id="auto_buy_form_view" model="ir.ui.view">
<field name="name">auto.buy.form</field>
<field name="model">auto.buy</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Autobuy customer details">
<sheet>
<group>
<field name="service"/>
<field name="name"/>
<field name="make"/>
<field name="model"/>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="autobuy_tree_view">
<field name="name">autobuy.tree</field>
<field name="model">auto.buy</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Autobuy customer details">
<field name="service"/>
<field name="name"/>
<field name="make"/>
<field name="model"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="auto_buy_form">
<field name="name">Autobuy Customers</field>
<field name="res_model">auto.buy</field>
</record>
<menuitem name="AutoBuy" id="Autobuy_menu"/>
<menuitem name="Autobuy" id="AutoBuy_group_menu" parent="Autobuy_menu"/>
<menuitem name="Autobuy Customers" parent="AutoBuy_group_menu" id="Autobuy_menu_mainform" action="auto_buy_form"/>
<record id="service_form_view" model="ir.ui.view">
<field name="name">service.form</field>
<field name="model">service.sale</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Service">
<sheet>
<group>
<field name="serviceid"/>
<field name="name"/>
<field name="make"/>
<field name="model"/>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="service_tree_view">
<field name="name">service.tree</field>
<field name="model">service.sale</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Service">
<field name="serviceid"/>
<field name="name"/>
<field name="make"/>
<field name="model"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="service_buy_form">
<field name="name">Service</field>
<field name="res_model">service.sale</field>
</record>
<menuitem name="Sales" id="Sales_group_menu" parent="Autobuy_menu"/>
<menuitem name="Slip" parent="Sales_group_menu" id="Sales_menu_mainform" action="service_buy_form"/>
</data>
</openerp>
I have set the field "serviceid" as many2one to call the to call the above class field "service"
'serviceid': fields.many2one('auto.buy','Service ID', select=True),
but it show the values of the "name" field of previous class and not the field "service"
How can I set this?
My second question is
I want to set a onchange function to auto fill the fields. Once I give the "serviceid" field it must call and auto fill the fields of based on the above class.
I will give all field value in the first class and once I give the "serviceid" all fields related to "serviceid" should be auto filled.
Please help me with the complete onchange function(with searching ID) and in xml.
Thanks
def onchange_serviceid(self, cr, uid,name, serviceid):
result={'value':{'make':False}}
if serviceid:
service = self.pool.get('auto.buy').browse(cr, uid, name)
result['value']={'make':service.make.id}
return result
I have tried this code to auto fill but it shows error as
result['value']={'make':service.make.id}
AttributeError: 'bool' object has no attribute 'id'
How can I solve this