Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
3887 Представления

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

Аватар
Отменить
Автор Лучший ответ

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

Аватар
Отменить
Лучший ответ

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.

Аватар
Отменить
Related Posts Ответы Просмотры Активность
3
июл. 18
3973
0
июн. 25
1032
1
сент. 15
3600
1
апр. 16
3643
0
апр. 24
1883