Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
3776 Vistas

Hello everybody,

i have two modules which override the get_pdf method. My question is now, is it possible to make a rule which one of the overriden methodes is called first. The get_pdf of the first module should always be called first.

Is there a way to achieve that goal?


Greets Flo

Avatar
Descartar
Autor Mejor respuesta

That does not help me further.

Normaly the two modules run on their own. So they can't depend each other. But if you have the special case to use both modules on the same odoo instance modul A's get_pdf should always be called befor the one of modul B.

I figured out that normaly odoo takes the modules how they have been installed. So if module A is installed first, every thing is fine. But the otherway it isn't.

Is there any kind of parameter which can be set to handle this?


Greets Flo

Avatar
Descartar
Mejor respuesta

at code level you can do:

lass MyClass(models.Model):
...
    def get_pdf(self,...):
# here you can do stuff before call overriden method of parent
res = super(MyClass,self).get_pdf(...) # OR do stuff after calling method of superclass... #function of parent class called, in res you've result, do your stuff here... return res.
at module level, you've to arrange dependencies in __openerp__.py files,

module_a (first module) depends: ['whatever']

module_b (second one) depends: ['module_a']


note: do not add in dependency list in module_b modules that are listed already in dependency list of module_a and so on.

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
3
jul 18
3886
0
jun 25
788
1
sept 15
3525
1
abr 16
3543
0
abr 24
1830