Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
6439 มุมมอง

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
7048
7
ม.ค. 20
9852
0
พ.ย. 19
2859
0
พ.ย. 19
4350
3
ก.ค. 25
1301