Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
10391 Visualizzazioni

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?

Avatar
Abbandona
Risposta migliore

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


Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
mar 18
8024
1
ott 17
4824
0
mar 25
892
4
apr 24
173343
0
dic 23
1749