Skip to content
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

[FW][FIX] pivot: Prevent faulty pivot domain to crash #4805

Conversation

fw-bot
Copy link
Collaborator

@fw-bot fw-bot commented Aug 9, 2024

The getter getPivotCellFromPosition parses pivot cells domain args but this step assumes that the domain is valid (e.g. refers to a valid groupby,measure combination). Unfortunately, if the domain is invalid, the parsing will crash.

Similarly to the decision made for the getter evaluateFormula1 we wrap the parsing in a try/catch statement and in case of faulty evaluation, return the same result as for invalid/non-existing pivots, that is an empty Pivotcell.

Task: 4088765

Description:

description of this task, what is implemented and why it is implemented that way.

Task: : TASK_ID

review checklist

  • feature is organized in plugin, or UI components
  • support of duplicate sheet (deep copy)
  • in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • in model/UI: ranges are strings (to show the user)
  • undo-able commands (uses this.history.update)
  • multiuser-able commands (has inverse commands and transformations where needed)
  • new/updated/removed commands are documented
  • exportable in excel
  • translations (_t("qmsdf %s", abc))
  • unit tested
  • clean commented code
  • track breaking changes
  • doc is rebuild (npm run doc)
  • status is correct in Odoo

Forward-Port-Of: #4741

Footnotes

  1. See https://github.com/odoo/o-spreadsheet/pull/3371

@robodoo
Copy link
Collaborator

robodoo commented Aug 9, 2024

Pull request status dashboard

@fw-bot
Copy link
Collaborator Author

fw-bot commented Aug 9, 2024

@rrahir @LucasLefevre this PR targets master and is the last of the forward-port chain.

To merge the full chain, use

@robodoo r+

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

@fw-bot
Copy link
Collaborator Author

fw-bot commented Aug 9, 2024

@rrahir @LucasLefevre ci/runbot failed on this forward-port PR

@LucasLefevre
Copy link
Collaborator

LucasLefevre commented Aug 9, 2024 via email

@robodoo
Copy link
Collaborator

robodoo commented Aug 9, 2024

@LucasLefevre you may want to rebuild or fix this PR as it has failed CI.

The getter `getPivotCellFromPosition` parses pivot cells domain args
but this step assumes that the domain is valid (e.g. refers to a valid
groupby,measure combination). Unfortunately, if the domain is invalid,
the parsing will crash.

Similarly to the decision made for the getter `evaluateFormula`[^1]
we wrap the parsing in a try/catch statement and in case of faulty evaluation,
return the same result as for invalid/non-existing pivots, that is an
empty Pivotcell.

[^1]: See #3371

Task: 4088765
X-original-commit: 693db2b
@rrahir rrahir force-pushed the master-saas-17.4-prevent-invalid-formula-domain-crash-rar-I1Ly-fw branch from 964403c to 50f714c Compare August 9, 2024 11:27
@rrahir
Copy link
Collaborator

rrahir commented Aug 9, 2024

@robodoo r+

@fw-bot
Copy link
Collaborator Author

fw-bot commented Aug 9, 2024

@rrahir @LucasLefevre this PR was modified / updated and has become a normal PR. It must be merged directly.

robodoo pushed a commit that referenced this pull request Aug 9, 2024
The getter `getPivotCellFromPosition` parses pivot cells domain args
but this step assumes that the domain is valid (e.g. refers to a valid
groupby,measure combination). Unfortunately, if the domain is invalid,
the parsing will crash.

Similarly to the decision made for the getter `evaluateFormula`[^1]
we wrap the parsing in a try/catch statement and in case of faulty evaluation,
return the same result as for invalid/non-existing pivots, that is an
empty Pivotcell.

[^1]: See #3371

closes #4805

Task: 4088765
X-original-commit: 693db2b
Signed-off-by: Lucas Lefèvre (lul) <[email protected]>
Signed-off-by: Rémi Rahir (rar) <[email protected]>
@robodoo robodoo closed this Aug 9, 2024
@robodoo robodoo added the 17.5 label Aug 9, 2024
@fw-bot fw-bot deleted the master-saas-17.4-prevent-invalid-formula-domain-crash-rar-I1Ly-fw branch August 23, 2024 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants