I want to make onchange field in many2one field , to onchange one2many field in different object.. Once i select many2one field it return several record. But when i hit button save it disapper .. how to resolve this ? thanks in advance
class wtc_collecting_kpb(osv.osv):
_name = "wtc.collecting.kpb"
_columns = {
'name': fields.char('Collecting KPB', size=64, readonly=True),
'branch_id':fields.many2one('wtc.branch','Branch',required=True, change_default=1),
'division':fields.selection([('Sparepart','Sparepart')],'Division', change_default=True,select=True,required=True),
'work_order_ids': fields.one2many('wtc.work.order','collecting_id',string="Table Collecting KPB"),
}
def onchange_branch_collecting(self, cr, uid, ids, branch_id):
default = {
'value':{},
}
if not branch_id:
return default
wo_pool = self.pool.get('wtc.work.order')
wo_search = wo_pool.search(cr,uid,[
('branch_id','=',branch_id),
('kpb_collected','=','ok')
])
workorder = []
if not wo_search :
workorder = []
elif wo_search :
wo_browse = wo_pool.browse(cr,uid,wo_search)
for x in wo_browse :
workorder.append([0, False, {
'name':x.name,
'lot_id':x.lot_id.id,
'engine_number':x.engine_number,
'date':x.date,
'type':x.type,
'kpb_ke':x.kpb_ke,
'km':x.km,
'state':x.state,
'kpb_collected':x.kpb_collected,
}])
default['value'].update({'work_order_ids': workorder,})
return default
def create(self,cr,uid,vals,context=None):
wo_pool = self.pool.get('wtc.work.order')
wo_search = wo_pool.search(cr,uid,[
('branch_id','=',vals['branch_id']),
('kpb_collected','=','ok')
])
wo_browse = wo_pool.browse(cr,uid,wo_search)
y = 0
for x in wo_browse :
print "jdfdjnfjdnfdjfjkdnf ",x
y += 1
print "tyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy",y
for vals['work_order_ids'] in x:
x.write({
'kpb_collected':'collected',
})
return super(wtc_collecting_kpb, self).create(cr, uid, vals, context=context)