Odoo Alternative Reporting Engine
 
 
 
 
Go to file
david 3172f3bc73 [IMP][FIX] report_xlsx: handle duplicate name exceptions
We want to avoid duplicated sheet names exceptions the same following the same
philosophy that Odoo implements overriding the main library to avoid the 31
characters limit triming the strings before sending them to the library.

In some cases, there's not much control over this as the reports send automated
data and the potential exception is hidden underneath making it hard to debug
the original issue. Even so, different names can become the same one as their
strings are trimmed to those 31 character limit.

This way, once we come across with a duplicated, we set that final 3 characters
with a sequence that we evaluate on the fly. So for instance:

- 'Sheet name' will be 'Sheet name~01'
- The next 'Sheet name' will try to rename to 'Sheet name~01' as well and then
  that will give us 'Sheet name~02'.
- And the next 'Sheet name' will try to rename to 'Sheet name~01' and then to
  'Sheet name~02' and finally it will be able to 'Sheet name~03'.
- An so on as many times as duplicated sheet names come to the workbook up to
  100 for each sheet name. We set such limit as we don't want to truncate the
  strings too much and keeping in mind that this issue don't usually ocurrs.

TT31938
2023-11-22 22:41:42 +07:00
.github/workflows Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
report_xlsx [IMP][FIX] report_xlsx: handle duplicate name exceptions 2023-11-22 22:41:42 +07:00
.copier-answers.yml Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.editorconfig Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.eslintrc.yml Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.gitignore Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.pre-commit-config.yaml Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.prettierrc.yml Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.pylintrc Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.pylintrc-mandatory Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
.ruff.toml Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
LICENSE Initialize 17.0 branch 2023-11-12 16:06:48 +01:00
README.md Initialize 17.0 branch 2023-11-12 16:06:48 +01:00

README.md

Runboat Pre-commit Status Build Status codecov Translation Status

reporting-engine

TODO: add repo description.

This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools.

Licenses

This repository is licensed under AGPL-3.0.

However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA) policy. Consult each module's __manifest__.py file, which contains a license key that explains its license.


OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.