Skip to content

[18.0] [IMP] spreadsheet_oca: named input parameters with domain substitution#105

Open
dnplkndll wants to merge 3 commits intoOCA:18.0from
ledoent:18.0-feat-input-params
Open

[18.0] [IMP] spreadsheet_oca: named input parameters with domain substitution#105
dnplkndll wants to merge 3 commits intoOCA:18.0from
ledoent:18.0-feat-input-params

Conversation

@dnplkndll
Copy link

Summary

Depends on

Test plan

  • test_input_param.py passes (param CRUD, cell sync, name validation, domain substitution)
  • Security rules: users see only params for spreadsheets they have access to
  • Demo data loads without errors
  • Refresh schedule correctly substitutes input param values in domain templates

🤖 Generated with Claude Code

@dnplkndll dnplkndll changed the title [IMP] spreadsheet_oca: named input parameters with domain substitution [18.0] [IMP] spreadsheet_oca: named input parameters with domain substitution Mar 13, 2026
dnplkndll and others added 3 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>
…summaries

New model spreadsheet.refresh.schedule allows users to configure
cron-based schedules that periodically:
  - Read ODOO-type pivot definitions from a spreadsheet's JSON.
  - Fetch fresh aggregate data via the server-side pivot engine.
  - Post an HTML summary on the spreadsheet's Chatter thread.
  - Optionally email subscribed partners.

Includes:
  - Cron lifecycle management (activate / deactivate / run now).
  - Domain-template substitution via _apply_param_substitution()
    (extensible by the input_params feature).
  - QWeb email templates for refresh notification and warnings,
    customisable via Settings > Technical > Views.
  - Smart button on the spreadsheet form.
  - Record rules following parent spreadsheet access.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ution

Adds spreadsheet.input_param model for mapping named parameters to
specific spreadsheet cells. Values are synced from the spreadsheet
JSON and injected into refresh schedule domain templates via %(name)s
substitution, enabling parameterized pivot queries.

Overrides _get_param_dict() on refresh.schedule to wire up the
sync-and-substitute pipeline. Includes JSON-RPC controller for
client-side access, security rules, demo data, and tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dnplkndll dnplkndll force-pushed the 18.0-feat-input-params branch from b243888 to 9cf5c3e 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