odoo/o-spreadsheet#7854

Created by BI, Rémi Rahir (rar)

Blocked

label
odoo:saas-18.3-fix-row-eval-in-composer-rar
head
a47dd5e39880b953093ee513430150d2866771d9
odoo/o-spreadsheet
saas-18.3 #7854 missing r+
saas-18.4
19.0
saas-19.1
master

[FIX] Evaluation: Provide cell position for isolated formula evaluation

Some formulas, like ROW & COLUMN need to know the coordinates of the cell on which they are applied to be computed and we did not provide those in the evaluation context when evaluating isolated formulas.

How to reproduce:

  • in a spreadsheet, go to the last row
  • in a cell of the last row, write the formula =MUNIT(ROW()) -> the formula is in #SPILL error because we did not extend the size of the spreadsheet

This also cause issues in standalone composers in which the hovered result displays an error.

How to reproduce:

  • in a standalone composer, write =ROW()
  • hover the ROW function -> it displays #ERROR

task-5798610

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