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

Hey i have a report which opens up on odoo website but i also want to take print of it. Right now report is at  url "\http://localhost:8069/purchase_comparison_chart/purchase_comparison/te00002-2" now i have added a button in it but i dont know what url to assign to it and exact python function for downloading pdf. Kindly give me some guidance. I shall be thankful

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

Hi,

1- The value of your href must be a link to a controller like the below code:

<a role="button" class="btn btn-primary d-none d-md-inline-block" href="/shop/print" target="_blank" aria-label="Print" title="Print"><i class="fa fa-print"></i> Print</a>

2- After, create a controller like the following code :

@http.route(['/shop/print'], type='http', auth="public", website=True)
def print_saleorder(self, **kwargs):
sale_order_id = request.session.get('sale_last_order_id')
if sale_order_id:
pdf, _ = request.env.ref('sale.action_report_saleorder').sudo().render_qweb_pdf([sale_order_id])
pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', u'%s' % len(pdf))]
return request.make_response(pdf, headers=pdfhttpheaders)
else:
return request.redirect('/shop')

Best regards!

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

Thank you! very helpful

Related Posts Відповіді Переглядів Дія
2
вер. 21
7027
7
січ. 20
9840
0
лист. 19
2856
0
лист. 19
4345
3
лип. 25
1277