Odoo Help

0
0
Yenthe Van Ginneken
On 5/9/17, 6:51 AM

Hi Othmane,


Why do you have @api.multi above the @api.onchange? They should not be combined, you only need the onchange.
As for the value assigning: why don't you simply write on self right away? Your code should look like this:

@api.onchange(lgs)
def on_change_state(self):
    for record in self:
if record.lgs:
record.state = 'waiting'
else:
record.state = 'draft'
print self.state, self.lgs


Regards,

Yenthe

@api.multi above the @api.onchange They should not be combined: You are right !! thanks !!

But it's working hhh

Menara Services, Othmane Ghandi
on 5/9/17, 6:56 AM
0
Mohammed Amal
On 5/9/17, 6:48 AM

You are not writing values to self,

Try this  self.write(values)

I tried it but it doesn't solve my problem :(

Menara Services, Othmane Ghandi
on 5/9/17, 7:09 AM
0
Othmane Ghandi
On 5/9/17, 6:54 AM

Mohammed Amal

I tried it but it didn't work.

I got the answer from a colleague "Maniganda" : in my case I removed the " readonly=True " attribute of the state fields and it work !!
 

0
zahid
On 5/9/17, 6:56 AM

onchange method does not need to retrun a value. 

you can do this 

@api.multi
@api.onchange('lgs')
def on_change_state(self):
 
for record in self:
if record.lgs:
record.state = 'waiting'
else:
record.state = 'draft'

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 5/9/17, 6:00 AM
Seen: 5644 times
Last updated: 6/19/18, 2:51 AM