Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
22120 Переглядів


I'm working on the survey module, especially on the survey_result.xml file containing all the templates results. I want to change the whole result_matrix template code (the result displayed for all matrix question type) using inheritance. 

So I used :
 

<template name="matrix_result_extended" inherit_id="survey.result_ matrix">
<xpath expr="." position="replace">
<!-- custom code here to replace all template code -->
</xpath>
</template>


But it seems that it doesn't work, because the parent result_matrix is not recognized by the qweb engine anymore when trying to render the survey results.

Is there a clean way to replace all code template by a completely new one ? 
 

Аватар
Відмінити
Найкраща відповідь

You redefine the full template with the same id="survey.result_matrix" and without inherit_id  (and with depends in __openerp__.py)

Аватар
Відмінити
Автор

And I do this redefinition on the survey module, not on a custom module ?

Автор

I think you mean redefine on a custom module "survey_extension" for example, with the same id="survey.result_matrix", and on the survey module __openerp__.py file add "survey_extension" on depends option. Is that correct ?

Yes, I mean custom module.

Найкраща відповідь

This works, but it's distructive.

If you will uninstall your custom module, the default report will remain the one you've changed, and this is not ok in all scenarios

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
2
груд. 22
22650
Qweb Inheritance Вирішено
3
лист. 19
7478
2
січ. 24
1264
1
вер. 20
7280
3
серп. 20
27138