From 05621e43cea1230a5dbb6afa42564bcdd6b77c0c Mon Sep 17 00:00:00 2001 From: Chris Mann Date: Mon, 8 Sep 2025 21:45:49 +0100 Subject: [PATCH 1/8] [FIX] spreadsheet_oca: getGroupByDisplayLabel error Fix bug where sort order in pivot causes crash due to changed function name getGroupByDisplayLabel to getMeasureDisplayName. --- .../src/spreadsheet/bundle/filter_panel_datasources.esm.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/filter_panel_datasources.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/filter_panel_datasources.esm.js index 2d9bd56c..5e764e1a 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/filter_panel_datasources.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/filter_panel_datasources.esm.js @@ -81,8 +81,7 @@ export class PivotPanelDisplay extends Component { const sortedColumn = this.props.pivotDefinition.sortedColumn; const orderTranslate = sortedColumn.order === "asc" ? _t("ascending") : _t("descending"); - const GroupByDisplayLabel = this.PivotDataSource.getGroupByDisplayLabel( - "measure", + const GroupByDisplayLabel = this.PivotDataSource.getMeasureDisplayName( sortedColumn.measure ); return `${GroupByDisplayLabel} (${orderTranslate})`; From 9a416b9f9b6dbd93e8f6cdc002511704d5622697 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 10 Sep 2025 10:31:08 +0000 Subject: [PATCH 2/8] [BOT] post-merge updates --- README.md | 2 +- spreadsheet_oca/README.rst | 8 +++- spreadsheet_oca/__manifest__.py | 2 +- spreadsheet_oca/static/description/index.html | 38 +++++++++++-------- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0ddf493b..e5c4c6cb 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Available addons addon | version | maintainers | summary --- | --- | --- | --- [spreadsheet_dashboard_oca](spreadsheet_dashboard_oca/) | 17.0.1.0.0 | | Use OCA Spreadsheets on dashboards configuration -[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.0 | | Allow to edit spreadsheets +[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.1 | | Allow to edit spreadsheets [//]: # (end addons) diff --git a/spreadsheet_oca/README.rst b/spreadsheet_oca/README.rst index 23afef23..e6b74834 100644 --- a/spreadsheet_oca/README.rst +++ b/spreadsheet_oca/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =============== Spreadsheet Oca =============== @@ -7,13 +11,13 @@ Spreadsheet Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a7edc105b2730d126fc787ef8ef2c8c1d293b8e18e94402ff7db7d044ee863cd + !! source digest: sha256:97d72e6ea5d8c3d2efea4dc8febd611db0fa13076f55d7eb9298216ded7aae92 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fspreadsheet-lightgray.png?logo=github diff --git a/spreadsheet_oca/__manifest__.py b/spreadsheet_oca/__manifest__.py index e2e3e751..0515c56b 100644 --- a/spreadsheet_oca/__manifest__.py +++ b/spreadsheet_oca/__manifest__.py @@ -5,7 +5,7 @@ "name": "Spreadsheet Oca", "summary": """ Allow to edit spreadsheets""", - "version": "17.0.1.0.0", + "version": "17.0.1.0.1", "license": "AGPL-3", "author": "CreuBlanca,Odoo Community Association (OCA)", "website": "https://github.com/OCA/spreadsheet", diff --git a/spreadsheet_oca/static/description/index.html b/spreadsheet_oca/static/description/index.html index 1d426e7d..f4a54955 100644 --- a/spreadsheet_oca/static/description/index.html +++ b/spreadsheet_oca/static/description/index.html @@ -3,7 +3,7 @@ -Spreadsheet Oca +README.rst -
-

Spreadsheet Oca

+
+ + +Odoo Community Association + +
+

Spreadsheet Oca

-

Beta License: AGPL-3 OCA/spreadsheet Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/spreadsheet Translate me on Weblate Try me on Runboat

This module adds a functionality for adding and editing Spreadsheets using Odoo CE.

It is an alternative to the proprietary module spreadsheet_edition @@ -397,9 +402,9 @@

Spreadsheet Oca

-

Usage

+

Usage

-

Create a new spreadsheet

+

Create a new spreadsheet

-

Development

+

Development

If you want to develop custom business functions, you can add others, based on the file https://github.com/odoo/odoo/blob/16.0/addons/spreadsheet_account/static/src/accounting_functions.js

-

Known issues / Roadmap

+

Known issues / Roadmap

-

Adding new lines on pivot tables

+

Adding new lines on pivot tables

When we add a pivot table, the number of rows is predefined according to the current data.

In order to add new rows, we need to reinsert the pivot table.

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -510,15 +515,15 @@

Bug Tracker

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • CreuBlanca
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -545,5 +550,6 @@

Maintainers

+
From d3a1ba37a39cea3b5ec40b93f6197ef4e7dd57ca Mon Sep 17 00:00:00 2001 From: CarlosRoca13 Date: Wed, 17 Sep 2025 12:52:50 +0200 Subject: [PATCH 3/8] [FIX] spreadsheet_oca: Make use of _zip_xslx_files that spreadsheet module offers Reduce the logic of the controller by using the function that spreadsheet module offers and avoid error when rendering images on the xlsx file. --- spreadsheet_oca/controllers/main.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/spreadsheet_oca/controllers/main.py b/spreadsheet_oca/controllers/main.py index ef77af1d..dcc35bc7 100644 --- a/spreadsheet_oca/controllers/main.py +++ b/spreadsheet_oca/controllers/main.py @@ -1,8 +1,6 @@ # Copyright 2024 Tecnativa - Carlos Roca # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import json -from io import BytesIO -from zipfile import ZipFile from odoo.http import Controller, content_disposition, request, route @@ -13,13 +11,9 @@ def download_spreadsheet_xlsx(self, zip_name, files, **kw): if hasattr(files, "read"): files = files.read().decode("utf-8") files = json.loads(files) - file_bytes = BytesIO() - with ZipFile(file_bytes, "w") as zip_file: - for file in files: - zip_file.writestr(file["path"], file["content"]) - file_content = file_bytes.getvalue() + file_content = request.env["spreadsheet.mixin"]._zip_xslx_files(files) return request.make_response( - file_bytes.getvalue(), + file_content, [ ("Content-Length", len(file_content)), ("Content-Type", "application/vnd.ms-excel"), From 90ea6144ae717ef6c6bbe0f143194003410c19af Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 17 Sep 2025 21:57:29 +0000 Subject: [PATCH 4/8] [BOT] post-merge updates --- README.md | 2 +- spreadsheet_oca/README.rst | 2 +- spreadsheet_oca/__manifest__.py | 2 +- spreadsheet_oca/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e5c4c6cb..6a4d4bef 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Available addons addon | version | maintainers | summary --- | --- | --- | --- [spreadsheet_dashboard_oca](spreadsheet_dashboard_oca/) | 17.0.1.0.0 | | Use OCA Spreadsheets on dashboards configuration -[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.1 | | Allow to edit spreadsheets +[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.2 | | Allow to edit spreadsheets [//]: # (end addons) diff --git a/spreadsheet_oca/README.rst b/spreadsheet_oca/README.rst index e6b74834..869c655f 100644 --- a/spreadsheet_oca/README.rst +++ b/spreadsheet_oca/README.rst @@ -11,7 +11,7 @@ Spreadsheet Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:97d72e6ea5d8c3d2efea4dc8febd611db0fa13076f55d7eb9298216ded7aae92 + !! source digest: sha256:53f2ac387d2b0a0a0d10edfbb2702f176f39205810a3eff890d1bb146bf33829 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/spreadsheet_oca/__manifest__.py b/spreadsheet_oca/__manifest__.py index 0515c56b..9a892368 100644 --- a/spreadsheet_oca/__manifest__.py +++ b/spreadsheet_oca/__manifest__.py @@ -5,7 +5,7 @@ "name": "Spreadsheet Oca", "summary": """ Allow to edit spreadsheets""", - "version": "17.0.1.0.1", + "version": "17.0.1.0.2", "license": "AGPL-3", "author": "CreuBlanca,Odoo Community Association (OCA)", "website": "https://github.com/OCA/spreadsheet", diff --git a/spreadsheet_oca/static/description/index.html b/spreadsheet_oca/static/description/index.html index f4a54955..8d8a205c 100644 --- a/spreadsheet_oca/static/description/index.html +++ b/spreadsheet_oca/static/description/index.html @@ -372,7 +372,7 @@

Spreadsheet Oca

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:97d72e6ea5d8c3d2efea4dc8febd611db0fa13076f55d7eb9298216ded7aae92 +!! source digest: sha256:53f2ac387d2b0a0a0d10edfbb2702f176f39205810a3eff890d1bb146bf33829 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/spreadsheet Translate me on Weblate Try me on Runboat

This module adds a functionality for adding and editing Spreadsheets From 3e089162593bb1081936cd23a26ee461904905c6 Mon Sep 17 00:00:00 2001 From: CarlosRoca13 Date: Thu, 18 Sep 2025 10:35:55 +0200 Subject: [PATCH 5/8] [FIX] spreadsheet_oca: Filters don't take care about field type --- spreadsheet_oca/static/src/spreadsheet/bundle/filter.esm.js | 1 + 1 file changed, 1 insertion(+) diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/filter.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/filter.esm.js index a6d1723b..99f9677d 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/filter.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/filter.esm.js @@ -181,6 +181,7 @@ export class EditFilterPanel extends Component { } onFieldMatchUpdate(object, name) { this.state.objects[object.id].fieldMatch.chain = name; + this.state.objects[object.id].fieldMatch.type = object.fields[name]?.type; } toggleDateDefaultValue(ev) { this.state.defaultValue = ev.target.checked ? "this_month" : undefined; From e7b0703fc5ce15f840a810eae5ca820d190cded6 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 18 Sep 2025 08:42:51 +0000 Subject: [PATCH 6/8] [BOT] post-merge updates --- README.md | 2 +- spreadsheet_oca/README.rst | 2 +- spreadsheet_oca/__manifest__.py | 2 +- spreadsheet_oca/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6a4d4bef..263a26b9 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Available addons addon | version | maintainers | summary --- | --- | --- | --- [spreadsheet_dashboard_oca](spreadsheet_dashboard_oca/) | 17.0.1.0.0 | | Use OCA Spreadsheets on dashboards configuration -[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.2 | | Allow to edit spreadsheets +[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.3 | | Allow to edit spreadsheets [//]: # (end addons) diff --git a/spreadsheet_oca/README.rst b/spreadsheet_oca/README.rst index 869c655f..a0cab53c 100644 --- a/spreadsheet_oca/README.rst +++ b/spreadsheet_oca/README.rst @@ -11,7 +11,7 @@ Spreadsheet Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:53f2ac387d2b0a0a0d10edfbb2702f176f39205810a3eff890d1bb146bf33829 + !! source digest: sha256:2e54effb5771467ddab39e872bcddddc5e7a900f7afb88dd3bb87ac26d195ca5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/spreadsheet_oca/__manifest__.py b/spreadsheet_oca/__manifest__.py index 9a892368..553f0364 100644 --- a/spreadsheet_oca/__manifest__.py +++ b/spreadsheet_oca/__manifest__.py @@ -5,7 +5,7 @@ "name": "Spreadsheet Oca", "summary": """ Allow to edit spreadsheets""", - "version": "17.0.1.0.2", + "version": "17.0.1.0.3", "license": "AGPL-3", "author": "CreuBlanca,Odoo Community Association (OCA)", "website": "https://github.com/OCA/spreadsheet", diff --git a/spreadsheet_oca/static/description/index.html b/spreadsheet_oca/static/description/index.html index 8d8a205c..7bae2017 100644 --- a/spreadsheet_oca/static/description/index.html +++ b/spreadsheet_oca/static/description/index.html @@ -372,7 +372,7 @@

Spreadsheet Oca

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:53f2ac387d2b0a0a0d10edfbb2702f176f39205810a3eff890d1bb146bf33829 +!! source digest: sha256:2e54effb5771467ddab39e872bcddddc5e7a900f7afb88dd3bb87ac26d195ca5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/spreadsheet Translate me on Weblate Try me on Runboat

This module adds a functionality for adding and editing Spreadsheets From 2265535b099a382bc64d03aa84fcb0c1b34e6de8 Mon Sep 17 00:00:00 2001 From: CarlosRoca13 Date: Fri, 10 Oct 2025 15:42:48 +0200 Subject: [PATCH 7/8] [FIX] spreadsheet_oca: The tables overlap when added to an existing spreadsheet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before these changes, when a table was added to an existing spreadsheet, it was always being added to row 0 of the sheet, since the call to getCell always returned undefined. After making these changes, the call is made correctly and the cell’s content is retrieved. Since the isEmpty function no longer exists, we now check directly whether it contains the content key. --- .../static/src/spreadsheet/bundle/spreadsheet_action.esm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js index b91f92d1..8e7a263c 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js @@ -147,9 +147,9 @@ export class ActionSpreadsheetOca extends Component { while (row >= 0) { for (var col = maxcols; col >= 0; col--) { if ( - spreadsheet_model.getters.getCell(sheetId, col, row) !== + spreadsheet_model.getters.getCell({ sheetId, col, row }) !== undefined && - !spreadsheet_model.getters.getCell(sheetId, col, row).isEmpty() + spreadsheet_model.getters.getCell({ sheetId, col, row }).content ) { filled = true; break; From 8f41efd9f66890e9a276a4e9f8a8366e7549c618 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 10 Oct 2025 18:02:02 +0000 Subject: [PATCH 8/8] [BOT] post-merge updates --- README.md | 2 +- spreadsheet_oca/README.rst | 2 +- spreadsheet_oca/__manifest__.py | 2 +- spreadsheet_oca/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 263a26b9..15169b00 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Available addons addon | version | maintainers | summary --- | --- | --- | --- [spreadsheet_dashboard_oca](spreadsheet_dashboard_oca/) | 17.0.1.0.0 | | Use OCA Spreadsheets on dashboards configuration -[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.3 | | Allow to edit spreadsheets +[spreadsheet_oca](spreadsheet_oca/) | 17.0.1.0.4 | | Allow to edit spreadsheets [//]: # (end addons) diff --git a/spreadsheet_oca/README.rst b/spreadsheet_oca/README.rst index a0cab53c..3c95c9f2 100644 --- a/spreadsheet_oca/README.rst +++ b/spreadsheet_oca/README.rst @@ -11,7 +11,7 @@ Spreadsheet Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:2e54effb5771467ddab39e872bcddddc5e7a900f7afb88dd3bb87ac26d195ca5 + !! source digest: sha256:6bd5cd4a3aae2f2038384c02a9b974c204abdc75f4aad983e5351ff9cd8af44a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/spreadsheet_oca/__manifest__.py b/spreadsheet_oca/__manifest__.py index 553f0364..d5dcd9ea 100644 --- a/spreadsheet_oca/__manifest__.py +++ b/spreadsheet_oca/__manifest__.py @@ -5,7 +5,7 @@ "name": "Spreadsheet Oca", "summary": """ Allow to edit spreadsheets""", - "version": "17.0.1.0.3", + "version": "17.0.1.0.4", "license": "AGPL-3", "author": "CreuBlanca,Odoo Community Association (OCA)", "website": "https://github.com/OCA/spreadsheet", diff --git a/spreadsheet_oca/static/description/index.html b/spreadsheet_oca/static/description/index.html index 7bae2017..522bd8f0 100644 --- a/spreadsheet_oca/static/description/index.html +++ b/spreadsheet_oca/static/description/index.html @@ -372,7 +372,7 @@

Spreadsheet Oca

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:2e54effb5771467ddab39e872bcddddc5e7a900f7afb88dd3bb87ac26d195ca5 +!! source digest: sha256:6bd5cd4a3aae2f2038384c02a9b974c204abdc75f4aad983e5351ff9cd8af44a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/spreadsheet Translate me on Weblate Try me on Runboat

This module adds a functionality for adding and editing Spreadsheets