تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
22130 أدوات العرض


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

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
2
ديسمبر 22
22660
Qweb Inheritance تم الحل
3
نوفمبر 19
7487
2
يناير 24
1269
1
سبتمبر 20
7282
3
أغسطس 20
27143