30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from openerp.osv import fields, osv
|
|
|
|
|
|
class hr_applicant(osv.Model):
|
|
_inherit = 'hr.applicant'
|
|
|
|
def _get_index_content(self, cr, uid, ids, fields, args, context=None):
|
|
res = dict.fromkeys(ids, '')
|
|
Attachment = self.pool.get('ir.attachment')
|
|
attachment_ids = Attachment.search(cr, uid, [('res_model', '=', 'hr.applicant'), ('res_id', 'in', ids)], context=context)
|
|
for attachment in Attachment.browse(cr, uid, attachment_ids, context=context):
|
|
res[attachment.res_id] += attachment.index_content or ''
|
|
return res
|
|
|
|
def _content_search(self, cr, user, obj, name, args, context=None):
|
|
record_ids = set()
|
|
Attachment = self.pool.get('ir.attachment')
|
|
args = ['&'] + args + [('res_model', '=', 'hr.applicant')]
|
|
att_ids = Attachment.search(cr, user, args, context=context)
|
|
record_ids = set(att.res_id for att in Attachment.browse(cr, user, att_ids, context=context))
|
|
return [('id', 'in', list(record_ids))]
|
|
|
|
_columns = {
|
|
'index_content': fields.function(
|
|
_get_index_content, fnct_search=_content_search,
|
|
string='Index Content', type="text"),
|
|
}
|