i vaibhav new in open erp 7 , got error while inheriting hr_recruitment module.
i override search method hr_recruitment filter out applications added job_code char field in hr_job , job_code_applicant in hr_applicant
my code :
def search(self, cr, uid, args, offset=0, limit=none, order=none, context=none, count=false): ''' overriden search method''' cur_obj=self.pool.get('hr.job') cr.execute('select job_code hr_job ') list = cr.fetchall() ids = [ i[0] in list] cr.execute('select id hr_applicant job_code_applicant in %s', (tuple(set(ids)),)) list12 = cr.fetchall() ids_applicant = [ i[0] in list12 ] return ids_applicant
error is:
traceback (most recent call last):
file "/home/fabian/openerp-7.0-20130408-232357/openerp/netsvc.py", line 293, in dispatch_rpc result = exportservice.getservice(service_name).dispatch(method, params) file "/home/fabian/openerp-7.0-20130408-232357/openerp/service/web_services.py", line 626, in dispatch res = fn(db, uid, *params) file "/home/fabian/openerp-7.0-20130408-232357/openerp/osv/osv.py", line 188, in execute_kw return self.execute(db, uid, obj, method, *args, **kw or {}) file "/home/fabian/openerp-7.0-20130408-232357/openerp/osv/osv.py", line 131, in wrapper return f(self, dbname, *args, **kwargs) file "/home/fabian/openerp-7.0-20130408-232357/openerp/osv/osv.py", line 197, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) file "/home/fabian/openerp-7.0-20130408-232357/openerp/osv/osv.py", line 185, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) file "/home/fabian/openerp-7.0-20130408-232357/openerp/osv/orm.py", line 2697, in read_group d['__domain'] = [(groupby, '=', alldata[d['id']][groupby] or false)] + domain
keyerror: 8
in code why not return super of search method instead of returning direclty ids?
like:
def search(self, cr, uid, args, offset=0, limit=none, order=none, context=none, count=false): #''' overriden search method''' cur_obj=self.pool.get('hr.job') cr.execute('select job_code '\ 'from hr_job '\ ) list = cr.fetchall() ids = [ i[0] in list] if ids: args.append(('job_code_applicant', 'in', ids)) return super(hr_applicant, self).search(cr, uid, args, offset, limit, order, context, count)
Comments
Post a Comment