odoo/o-spreadsheet#7385

Created by BI, Dhrutik Patel (dhrp)
Merged at c8a3d2bb8f9d0eb30976da413ad9e728aacb1e94

Statuses:

label
odoo:18.0-fix-scorecard-gauge-empty-range-dhrp
head
a16704c0ff5b1e37d5c2a022be4f18611243b7de
merged
2 months ago by BI, Lucas Lefèvre (lul)
odoo/o-spreadsheet
18.0 #7385
saas-18.2 #7417
saas-18.3 #7423
saas-18.4 #7424
19.0 #7425
saas-19.1
master #7426

[FIX] charts: crash when converting empty chart to scorecard/gauge

Description:

When creating a Scorecard or Gauge from an empty carousel/chart, context.range can be an empty array.
Accessing context.range[0].dataRange crashed.

This PR adds a check to ensure that context.range has at least one element before accessing context.range[0].dataRange.

Task: 5181741

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