-
-
Notifications
You must be signed in to change notification settings - Fork 868
[18.0][MIG] report_qweb_signer: Migration to 18.0 #1105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 18.0
Are you sure you want to change the base?
Conversation
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/
…isible signatures
We don't want our custom parameters be reset every time the module updates. TT32256
…default and fix multicompany issue
…objects (print from wizard in some cases)
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.
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/
…ography version for python < 3.12
29937cb to
71070b5
Compare
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
71070b5 to
212514f
Compare
yajo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the good work, it looks much better indeed.
Code review with some comments in code.
Please also review tests, which are failing.
| def migrate(cr, version): | ||
| # 1. Store certificate info (file path) to create the certs on post-mig | ||
| # 2. Transform report.certificate to their reports values | ||
| pass |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue: missing implementation.
| and self.signing_allow_only_one | ||
| and len(res_ids) > 1 | ||
| ): | ||
| _logger.debug( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: higher importance
| _logger.debug( | |
| _logger.warning( |
| ids = set( | ||
| self.env[self.model_id.model].search(safe_eval(self.signing_domain)).ids | ||
| ) | ||
| res_ids = list(ids & set(res_ids)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ids = set( | |
| self.env[self.model_id.model].search(safe_eval(self.signing_domain)).ids | |
| ) | |
| res_ids = list(ids & set(res_ids)) | |
| res_ids = self.env[self.model_id.model].search([("id", "in", res_ids)] + safe_eval(self.signing_domain)).ids |
|
|
||
| def _should_be_signed(self, res_ids: list) -> list: | ||
| """Not all the documents should be rendered. Let's find out the right ones""" | ||
| if not self._is_report_type_signable(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| if not self._is_report_type_signable(): | |
| if not self._is_report_type_signable() or not res_ids: |
| > - Antonio Espinosa | ||
| > - Pedro M. Baeza | ||
| > - Jairo Llopis | ||
| > - David Vidal |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: IMHO Moduon deserves a mention, after this huge refactor.
superseds #1060
Refactor to use pyHanko and the new Odoo core
certificate.certificatemodel.For now, a minimal refactor has been made as PoC to:
Main pain points:
cryptographyversion is fixed in Odoorequirements.txt. This makes very hard for other libraries to work with that version.pyhanko-clitool as backend so we can install it in it's ownvenv(or whatever isolation method is desired).cc @moduon MT-11131
fyi @yajo