Odoo Help


why is boolean field not answering the onchange function?

Vale Trood
on 11/27/15, 4:11 AM 982 views

Hello friends!!!

I am using an onchange function to modify a boolean field.

here is the code:


def on_change_valid_id(self, cr, uid, ids,is_valid, context=None):

res = {'value':{'is_valid': self.get_inputs(cr, uid, ids, is_valid, context=context),



return res

def get_inputs(self, cr, uid,ids, is_valid, context=None):

ret = []

present = datetime.now()

a = str(present.year)+'-'+str(present.month)+'-'+str(present.day)

for obj in self.browse(cr, uid, ids, context=context):

matricule = obj.employee_id.id

obj = self.pool.get('hr.contract')

obj_ids = obj.search(cr, uid, [('employee_id', '=', matricule)])

res = obj.read(cr, uid, obj_ids, ['id', 'employee_id', 'date_end'], context)

for r in res:

b = str(r['date_end'])

compare = a > b

print compare

if compare == False:

inputs = {

'is_valid': True,


ret += [inputs]


inputs = {

'is_valid': True,


ret += [inputs]

print ret

return ret

Can any one help please.

Best Regards.

Julio Serna
On 11/27/15, 12:48 PM

Hello Drees,

I can see that get_inputs function return [{'is_valid': True}] and you are call in onchange that function, and your onchange is return something like this,

{'value':{'is_valid': [{'is_valid': True}] ,


The return must be something like this,

{'value':{'is_valid': True,


also, you must check that field is not like readonly

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 11/27/15, 4:11 AM
Seen: 982 times
Last updated: 11/28/15, 6:58 AM