odoo/o-spreadsheet#7490

Created by BI, Adrien Minne (adrm)

Blocked

label
odoo:master-date-cfs-adrm
head
1d48c0c8be9dadfeae406883be310afbd3a57246
odoo/o-spreadsheet
master #7490 missing r+

[IMP] CF: add new conditional formats for dates

Description:

[IMP] CF: add new conditional formats for dates

This commit adds the dateIs/dateIsBefore/dateIsAfter conditional
formats, as well as the excel export for these.

Note:
The excel export doesn't use Excel's date conditional formats, because
they don't have the same behaviour as ours. We'll use custom formulas
instead.

Example: today is 2025/11/19
- Our date is last month: 2025/10/19 -> 2025/11/18
- Excel's date is last month: 2025/10/01 -> 2025/10/30

Task: 5343283

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