This question has been flagged

Hi;

I have two models :

-calculation_function : inherit the "ir.actions.server" model

-indicator that have the calculation_function model as attribute 


i want call this server action (calculation_function ) from a method that i writen in the Indicator model, i tried to call the run method ( indicator.calculation_function .run()) but it doesn't work.



I want to run a server action form my 

Avatar
Discard
Best Answer

You do not need 'run' for this. In order a method is executed initiate it in your method. Since we are speaking about ir.actions.server, you may return it in your methods. Important:

* the decorator should be api@multi. api@one would be executed, but the window would not be shown up

* you can return a window action only from another action (e.g. button click). It is impossible to return a window from 'create', 'write', 'inverse', 'compute', etc using standard Odoo tools. Again the method would be executed, but no window would appear.

E.g.:

@api.multi
def your_method(self):
  self.ensure_one()
  return self.indicator.calculation_function()
Avatar
Discard
Author Best Answer

when I try to return the calculation function it shows me this error :

TypeError: 'ir.actions.server' object is not callable

I use Odoo 10


Avatar
Discard