Skip to Content
Menu
This question has been flagged
3 Replies
1853 Views

I am customizing the "account.report_invoice_document" View.

This is used to render both the PDF version and the Customer Portal version of an Invoice.

I would like the PDF to have some content that the Portal View will not and vice-versa.


Can I detect which is being rendered via a QWeb variable or another method so I can use conditional statements to render content?

Avatar
Discard
Best Answer

These are the different URL's that are used:

  • PDF from Odoo backend: /report/download
  • Portal View: https://[server]/my/invoices/[id]?access_token=[guid]&report_type=html
  • PDF from Portal Download Action:  https://[server]/my/invoices/[id]?access_token=[guid]&report_type=pdf&download=True
  • PDF from Portal Print Action:  https://[server]/my/invoices/[id]?access_token=[guid]&report_type=pdf


So one way is to inspect the request like this to differentiate between the View and the PDF's:


Avatar
Discard
Best Answer

Portal View: https://[server]/my/invoices/[id]?access_token=[guid]&report_type=html

is there any way to download custom template using portal view




Avatar
Discard
Best Answer

Hi,

When rendering the portal view, the html version of the report is used. So if you need to show something only in portal  you can add a if condition using the variable report_type variable.

if report_type value is html, then it is portal and else it will be printing pdf.


So you can add condition as follows:  if report_type != 'html'


Thanks

Avatar
Discard
Related Posts Replies Views Activity
1
Apr 25
687
4
May 24
5220
1
May 23
3121
0
Jul 17
2516
0
Mar 16
2461