Skip to content

Conversation

@chienandalu
Copy link
Member

superseds #1060

Refactor to use pyHanko and the new Odoo core certificate.certificate model.

For now, a minimal refactor has been made as PoC to:

  • Use PyHanko as the signer library (more complete, mantained and reliable)
  • Remove all the forme java pdfsigner stuff.
  • Be able to use Odoo core certificates.

Main pain points:

  • cryptography version is fixed in Odoo requirements.txt. This makes very hard for other libraries to work with that version.
  • The approach has been using the pyhanko-cli tool as backend so we can install it in it's own venv (or whatever isolation method is desired).

cc @moduon MT-11131

fyi @yajo

antespi and others added 30 commits December 17, 2025 11:15
OCA Transbot updated translations from Transifex
OCA Transbot updated translations from Transifex
These limits were being hit when printing PDF reports with just 80 pages.

OCA Transbot updated translations from Transifex

[UPD] Update report_qweb_signer.pot
- Good dependency chain
- Context for forcing rendering PDF
- Extra test

[UPD] README.rst

[UPD] Update report_qweb_signer.pot

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: reporting-engine-12.0/reporting-engine-12.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-12-0/reporting-engine-12-0-report_qweb_signer/

[UPD] README.rst
`render_qweb_pdf` must return a tuple of `(content, 'pdf')`
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: reporting-engine-12.0/reporting-engine-12.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-12-0/reporting-engine-12-0-report_qweb_signer/
Fix website on manifest
[UPD] Update report_qweb_signer.pot

[UPD] README.rst
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: reporting-engine-13.0/reporting-engine-13.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_qweb_signer/
We don't want our custom parameters be reset every time the module
updates.

TT32256
Add a new 'Allowed reports' field on the certificate. Only reports listed in this field can be signed. No report means all reports are allowed.
OCA-git-bot and others added 27 commits December 17, 2025 11:15
Currently translated at 26.0% (12 of 46 strings)

Translation: reporting-engine-14.0/reporting-engine-14.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_qweb_signer/it/
Currently translated at 63.0% (29 of 46 strings)

Translation: reporting-engine-14.0/reporting-engine-14.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_qweb_signer/sl/
Currently translated at 100.0% (46 of 46 strings)

Translation: reporting-engine-14.0/reporting-engine-14.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_qweb_signer/ca/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: reporting-engine-14.0/reporting-engine-14.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_qweb_signer/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: reporting-engine-14.0/reporting-engine-14.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_qweb_signer/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: reporting-engine-16.0/reporting-engine-16.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-0-report_qweb_signer/
Currently translated at 100.0% (46 of 46 strings)

Translation: reporting-engine-16.0/reporting-engine-16.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-0-report_qweb_signer/es/
Currently translated at 100.0% (46 of 46 strings)

Translation: reporting-engine-16.0/reporting-engine-16.0-report_qweb_signer
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-0-report_qweb_signer/it/
@chienandalu chienandalu force-pushed the 18.0-mig-report_qweb_signer branch from 29937cb to 71070b5 Compare December 17, 2025 14:06
Refactor to use pyHanko and the new Odoo core `certificate.certificate` model.

For now, a minimal refactor has been made as PoC to:

- Use PyHanko as the signer library (more complete, mantained and reliable)
- Remove all the forme java pdfsigner stuff.
- Be able to use Odoo core certificates.

Main pain points:

- `cryptography` version is fixed in Odoo `requirements.txt`. This makes very hard for other libraries to work with that version.
- The approach has been using the `pyhanko-cli` tool as backend so we can install it in it's own `venv` (or whatever isolation method is desired).

MT-11131
@chienandalu chienandalu force-pushed the 18.0-mig-report_qweb_signer branch from 71070b5 to 212514f Compare December 18, 2025 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.