Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
6437 Представления

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
7045
7
янв. 20
9852
0
нояб. 19
2857
0
нояб. 19
4348
3
июл. 25
1301