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

I have created html field in the form view. Then user will add content in that field. The content will have some field variables of form view same as we declare in email template. Then user will print pdf report and that report should display values instead of the variables.


-Example Html field content :


Hello ${object.employee_id.name},

Your amount ${object.employee_id.amount}


____________________


- PDF Report should contain:


Hello Marks,

Your amount 500



How can I achieve this? Thanks in advance.

الصورة الرمزية
إهمال
الكاتب

the problem is not to print the Html field

it is to display the variables that is in this field Html

as the example

أفضل إجابة

hello Bouabaker, try this (odoo 11):


from odoo.addons.mail.models import mail_template

def method_name(self):

        converted_content = mail_template.mako_template_env.from_string(<your_html_content>).render({'object': object_value,})

        return converted_content

الصورة الرمزية
إهمال
الكاتب

Hi Farhat, Thanks ,

but in XML What I put ?

In your report xml file, call the method with:

<t t-raw="method_name()"/>

Hi Farhat, Newbie here

What should i put in object_value ? Thanks

أفضل إجابة

hello, your code is perfect but while you print the HTML field value into pdf report, print like below code.

<span t-raw="doc.your_html_field"/>


الصورة الرمزية
إهمال
الكاتب

thanks Mitul , the problem is to print variable that are in this field HTML ,as the example as in the question

أفضل إجابة

Hello Bouabaker,

If you want to print your HTML filed in Your PDF report you can add below code :

<span t-field="doc.yourhtmlfiled"/>

i think it's help you.

الصورة الرمزية
إهمال
الكاتب

Hi Manish , the problem is not to print the Html field

it is to display the variables that is in this field Html

المنشورات ذات الصلة الردود أدوات العرض النشاط
2
نوفمبر 22
3046
2
مايو 21
5191
1
سبتمبر 24
4186
0
يناير 24
1442
0
يناير 24
1125