Skip to content
Snippets Groups Projects
Commit 045a8f26 authored by Wolfgang Taferner's avatar Wolfgang Taferner Committed by fw-bot
Browse files

[FIX] base: multi-pages and multi-records traceback


In case of a multi-record and multi-page (i.e. 2 pages per PDF) report
the assertion is triggered b/c we have 4 pages and only two records with
a PDF of 2 pages each, so the outline_page needs to be unique before
assertion.

len([0, 0, 2, 2]) != len([record_id1, record_id2])
len([0, 2]) == len([record_id1, record_id2])

closes odoo/odoo#40076

X-original-commit: 573e5777
Signed-off-by: default avatarNicolas Martinelli (nim) <nim@odoo.com>
parent 0f17a0ea
No related branches found
No related tags found
No related merge requests found
......@@ -595,7 +595,8 @@ class IrActionsReport(models.Model):
reader = PdfFileReader(pdf_content_stream)
if reader.trailer['/Root'].get('/Dests'):
outlines_pages = sorted(
[outline.getObject()[0] for outline in reader.trailer['/Root']['/Dests'].values()])
set(outline.getObject()[0] for outline in reader.trailer['/Root']['/Dests'].values())
)
assert len(outlines_pages) == len(res_ids)
for i, num in enumerate(outlines_pages):
to = outlines_pages[i + 1] if i + 1 < len(outlines_pages) else reader.numPages
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment