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

When click on the Renewal letter menu under print action, i want to call  below method from python

@api

def renewal letter(self):

     print "Renewal

"

can anyone help me to resolve this?

الصورة الرمزية
إهمال
أفضل إجابة

For items under the `Print` menu, you should be calling a report directly (qweb template)

You can do this by having the following defined in an xml file in a module:

<template id="template_name">
    <div class="page">
        <!-- Report template defined here -->
    </div>
</template>

<template id="print_template_name">
<t t-call="report.html_container">
    <t t-foreach="docs" t-as="o">
        <t t-call="module_name.template_name"/>
        </t>
    </t>
</template>

<report
            id="your_report_print"
            model="model.name"
            string="Your Report Name"
            report_type="qweb-pdf"
            name="module_name.print_template_name"
            file="module_name.print_template_name"
            attachment="'Attachment Name.pdf'"
/>

 

If the intended use is to actually call a python function from this menu - then I would advise to define an Action.
This way - you can call a wizard form, and a fairly free to do what you please from it. (i.e have a button on it which calls your function)

You would do this with the following:
https://www.odoo.com/forum/help-1/question/how-to-open-a-form-with-ir-action-server-which-executes-python-code-61910


الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
مارس 18
8181
KeyError: 'share' تم الحل
1
أكتوبر 17
4934
0
مارس 25
1238
4
أبريل 24
173915
0
ديسمبر 23
2010