Skip to content

[18.0] [IMP] spreadsheet_oca: what-if scenarios with cell overrides#102

Open
dnplkndll wants to merge 2 commits intoOCA:18.0from
ledoent:18.0-feat-scenarios
Open

[18.0] [IMP] spreadsheet_oca: what-if scenarios with cell overrides#102
dnplkndll wants to merge 2 commits intoOCA:18.0from
ledoent:18.0-feat-scenarios

Conversation

@dnplkndll
Copy link

Summary

Depends on

  • Shared infrastructure (commit A): server-side pivot engine, cell-ref helpers, _compute_related_count() DRY helper

Test plan

  • test_scenario.py passes (CRUD, base case constraint, cell override application)
  • Security rules: users see only scenarios for spreadsheets they have access to
  • Demo data loads without errors

🤖 Generated with Claude Code

@dnplkndll dnplkndll changed the title [IMP] spreadsheet_oca: what-if scenarios with cell overrides [18.0] [IMP] spreadsheet_oca: what-if scenarios with cell overrides Mar 13, 2026
dnplkndll and others added 2 commits March 12, 2026 19:56
… helpers

Add shared infrastructure for upcoming server-side features:

- cell_ref.py: parse cell references (A1 notation), read/write cell
  values in spreadsheet_raw JSON.  Used by alerts, scenarios, input
  parameters, and XLSX export.

- pivot_data.py: replicates the JS PivotModel's read_group strategy
  in Python — computes pivot table data server-side without executing
  JavaScript.  Exposes get_pivot_data() as a JSON-RPC entry point,
  collect_pivot_summaries() for batch iteration, and
  render_pivot_table_html() for email/Chatter rendering.

- _compute_related_count(): DRY helper on spreadsheet.spreadsheet for
  child-model count fields (used by all upcoming features).

- Demo partners with geographic diversity for pivot tests.
- Demo pivot dashboard spreadsheet with =PIVOT() formulas.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds spreadsheet.scenario model for managing named scenario variants.
Each scenario stores cell overrides as a JSON dict that can be applied
to the spreadsheet to model different assumptions (optimistic,
pessimistic, etc.). Exactly one scenario per spreadsheet can be
marked as the base case.

Includes views, security rules, demo data, and tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dnplkndll dnplkndll force-pushed the 18.0-feat-scenarios branch from c89bd65 to 39fd8ac Compare March 13, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant