Repository navigation
Conversation
With this change we are adding an extra layer of security. Without it, any user was able to sniff how all happened using something like:
const any_spreadsheet_id = 1234;
const channel = "spreadsheet_oca;spreadsheet.spreadsheet;" + any_spreadsheet_id;
bus_service.addChannel(channel);
bus_service.addEventListener("spreadsheet_oca", (message) => /* every revision arrives here */
With the change, we verify the access to the model with a similar logic to `web_editor` fields
…mprove change of kind
commands Steps: 1. Open spreadsheet 2. Press command Ctrl + Z 3. F5 (refresh browse) An error occurred: Operation undefined not found Because missing key `undoneRevisionId` / `redoneRevisionId` in revisions data Solutions: Save all spreadsheet message in commands field
Currently translated at 100.0% (83 of 83 strings) Translation: spreadsheet-16.0/spreadsheet-16.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-16-0/spreadsheet-16-0-spreadsheet_oca/it/
Steps to reproduce the problem: 1. Go to a pivot 2. Group by something on the cols or on the rows 3. Create a spreadsheet with that info The pivot is imported on the initial state
Currently translated at 100.0% (85 of 85 strings) Translation: spreadsheet-16.0/spreadsheet-16.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-16-0/spreadsheet-16-0-spreadsheet_oca/it/
When adding a pivot table to a spreadsheet, it does not maintain the specified order because the sortedColumn option is not being completed. Steps to reproduce the issue: 1. Go to a pivot table 2. Change the default order 3. Add to the spreadsheet The added table will not have preserved the order.
…ture order of fields
When a pivot has a sort defined and the data of the pivot is opened an error is thrown because the data is not processed correctly. By doing this changes, we adapt the code to the new way of process the pivot data and the error does not being thrown anymore.
With this changes we are adding: 1. Include children records when it is possible 2. Add default values for the filter 3. If the model is for users allow set the current user by default 4. Allow to restrict values with a domain
Currently translated at 100.0% (166 of 166 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_oca/it/
Currently translated at 59.0% (98 of 166 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_oca/es/
Currently translated at 100.0% (166 of 166 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_oca/es/
Currently translated at 100.0% (166 of 166 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_oca/es/
Currently translated at 100.0% (166 of 166 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_oca/fr/
…lPanel SpreadsheetControlPanel extends ControlPanel but overrides its static components property, losing Dropdown and DropdownItem that the parent template uses. This causes "Cannot find the definition of component Dropdown" when opening a spreadsheet from certain navigation paths (e.g. from a form view). Fix: spread parent components before adding custom ones.
Signed-off-by: Don Kendall <dkendall@ledoweb.com> Assisted-by: Claude Opus 5
dnplkndll
force-pushed
the
20.0-mig-spreadsheet_oca
branch
16 times, most recently
from
September 30, 2026 00:16
47ef503 to
ddbebe6
Compare
* odoo/http.py became the package odoo/http/, which re-exports only a subset: content_disposition now comes from odoo.http.stream * security/ir.model.access.csv and the six ir.rule records fold into a single security/ir.access.csv; the rules become rows carrying a domain, with per-operation scope (reader r, contributor ru, the rest crud) * ir.model.access is gone, so the websocket access check uses the record-level has_access() * 20.0 binary fields hold a BinaryValue, whose .content is the decoded bytes -- where 19.0's field value was the base64 itself. So the base64 hop around spreadsheet_binary_data goes away entirely rather than moving: the field now stores the JSON, read back with BinaryValue.decode and written as BinaryBytes(json...). Keeping the hop round-trips for records this module creates but cannot read one migrated from 19.0, whose stored content is the plain JSON -- every spreadsheet and dashboard carried over fails to open with a UnicodeDecodeError from the double decode * ir.attachment.datas is gone in 20.0 (a write to it is silently dropped), so the xlsx import reads attachment.raw * the front end is ported to Owl 3 with odoo/upgrade_code --script owl3-migration, then finished by hand: props schemas via useProps, refs via signal.ref, and `this.` on every component-scoped name in the templates * the copied 19.0 core control-panel and breadcrumb markup is re-chased against 20.0 core: the Dropdown toggler slot, env.isSmall, switchView, and the list/graph button inherit targets all moved Signed-off-by: Don Kendall <dkendall@ledoweb.com> Assisted-by: Claude Opus 5
dnplkndll
force-pushed
the
20.0-mig-spreadsheet_oca
branch
from
October 1, 2026 23:34
ddbebe6 to
f8487fc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Port of
spreadsheet_ocafrom19.0to20.0. Follows the OCA migration guide.AI-assisted (Claude Code); every change reviewed, tested, and owned by the author.