Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions spreadsheet_oca/README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

===============
Spreadsheet Oca
===============
Expand All @@ -17,7 +13,7 @@ Spreadsheet Oca
.. |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/license-AGPL--3-blue.png
.. |badge2| image:: https://img.shields.io/badge/licence-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
Expand Down
3 changes: 2 additions & 1 deletion spreadsheet_oca/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"name": "Spreadsheet Oca",
"summary": """
Allow to edit spreadsheets""",
"version": "18.0.1.2.3",
"version": "18.0.2.0.0",
"license": "AGPL-3",
"author": "CreuBlanca,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/spreadsheet",
Expand All @@ -14,6 +14,7 @@
"security/security.xml",
"security/ir.model.access.csv",
"views/spreadsheet_spreadsheet.xml",
"views/spreadsheet_scenario_views.xml",
"data/spreadsheet_spreadsheet_import_mode.xml",
"wizards/spreadsheet_select_row_number.xml",
"wizards/spreadsheet_spreadsheet_import.xml",
Expand Down
98 changes: 98 additions & 0 deletions spreadsheet_oca/demo/demo_pivot_dashboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
{
"version": 21,
"sheets": [
{
"id": "sheet_partners",
"name": "Partners by Country",
"colNumber": 26,
"rowNumber": 100,
"rows": {},
"cols": {
"0": {"size": 220},
"1": {"size": 140},
"2": {"size": 140},
"3": {"size": 140}
},
"merges": [],
"cells": {
"A1": {"content": "=PIVOT(1)"}
},
"conditionalFormats": [],
"figures": [],
"filterTables": [],
"tables": [],
"dataValidationRules": [],
"comments": {},
"headerGroups": {"ROW": [], "COL": []},
"areGridLinesVisible": true,
"isVisible": true
},
{
"id": "sheet_regions",
"name": "Regions per Country",
"colNumber": 26,
"rowNumber": 100,
"rows": {},
"cols": {
"0": {"size": 220},
"1": {"size": 140}
},
"merges": [],
"cells": {
"A1": {"content": "=PIVOT(2)"}
},
"conditionalFormats": [],
"figures": [],
"filterTables": [],
"tables": [],
"dataValidationRules": [],
"comments": {},
"headerGroups": {"ROW": [], "COL": []},
"areGridLinesVisible": true,
"isVisible": true
}
],
"settings": {},
"customTableStyles": {},
"styles": {},
"formats": {},
"borders": {},
"revisionId": "START_REVISION",
"uniqueFigureIds": true,
"odooVersion": 12,
"globalFilters": [],
"pivots": {
"1": {
"type": "ODOO",
"id": "1",
"formulaId": "1",
"name": "Partners by Country & Type",
"model": "res.partner",
"domain": [["active", "=", true]],
"context": {},
"measures": [{"id": "__count", "fieldName": "__count"}],
"rows": [{"fieldName": "country_id", "order": "desc"}],
"columns": [{"fieldName": "is_company"}],
"sortedColumn": null,
"fieldMatching": {}
},
"2": {
"type": "ODOO",
"id": "2",
"formulaId": "2",
"name": "Regions per Country",
"model": "res.country.state",
"domain": [],
"context": {},
"measures": [{"id": "__count", "fieldName": "__count"}],
"rows": [{"fieldName": "country_id", "order": "desc"}],
"columns": [],
"sortedColumn": null,
"fieldMatching": {}
}
},
"pivotNextId": 3,
"lists": {},
"listNextId": 1,
"chartOdooMenusReferences": {}
}
111 changes: 110 additions & 1 deletion spreadsheet_oca/demo/spreadsheet_spreadsheet.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,120 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- ════════════════════════════════════════════════════════════════════
Demo Partners (geographic diversity for pivot demos)
════════════════════════════════════════════════════════════════════ -->

<record id="demo_partner_de_1" model="res.partner">
<field name="name">Müller GmbH</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.de" />
</record>
<record id="demo_partner_de_2" model="res.partner">
<field name="name">Hans Weber</field>
<field name="country_id" ref="base.de" />
<field name="parent_id" ref="demo_partner_de_1" />
</record>
<record id="demo_partner_fr_1" model="res.partner">
<field name="name">Dupont SA</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.fr" />
</record>
<record id="demo_partner_fr_2" model="res.partner">
<field name="name">Marie Leclerc</field>
<field name="country_id" ref="base.fr" />
<field name="parent_id" ref="demo_partner_fr_1" />
</record>
<record id="demo_partner_uk_1" model="res.partner">
<field name="name">British Solutions Ltd</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.uk" />
</record>
<record id="demo_partner_uk_2" model="res.partner">
<field name="name">James Clarke</field>
<field name="country_id" ref="base.uk" />
<field name="parent_id" ref="demo_partner_uk_1" />
</record>
<record id="demo_partner_jp_1" model="res.partner">
<field name="name">Tanaka Industries</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.jp" />
</record>
<record id="demo_partner_br_1" model="res.partner">
<field name="name">Silva Comércio Ltda</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.br" />
</record>
<record id="demo_partner_br_2" model="res.partner">
<field name="name">Ana Costa</field>
<field name="country_id" ref="base.br" />
</record>
<record id="demo_partner_in_1" model="res.partner">
<field name="name">Patel Technologies Pvt Ltd</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.in" />
</record>
<record id="demo_partner_in_2" model="res.partner">
<field name="name">Priya Sharma</field>
<field name="country_id" ref="base.in" />
<field name="parent_id" ref="demo_partner_in_1" />
</record>
<record id="demo_partner_au_1" model="res.partner">
<field name="name">Outback Systems Pty Ltd</field>
<field name="is_company" eval="True" />
<field name="country_id" ref="base.au" />
</record>

<!-- ════════════════════════════════════════════════════════════════════
Spreadsheet Records
════════════════════════════════════════════════════════════════════ -->

<record id="demo_spreadsheet" model="spreadsheet.spreadsheet">
<field name="name">Demo spreadsheet</field>
<field name="name">Sales Pipeline Summary</field>
<field name="owner_id" ref="base.user_admin" />
<field
name="spreadsheet_binary_data"
type="base64"
file="spreadsheet_oca/demo/demo_spreadsheet.json"
/>
</record>

<record id="demo_pivot_dashboard" model="spreadsheet.spreadsheet">
<field name="name">Partner Pivot Dashboard</field>
<field name="owner_id" ref="base.user_admin" />
<field
name="spreadsheet_binary_data"
type="base64"
file="spreadsheet_oca/demo/demo_pivot_dashboard.json"
/>
</record>

<!-- ════════════════════════════════════════════════════════════════════
What-If Scenarios
════════════════════════════════════════════════════════════════════ -->

<record id="demo_scenario_base" model="spreadsheet.scenario">
<field name="name">Base Case</field>
<field name="spreadsheet_id" ref="demo_spreadsheet" />
<field name="is_base" eval="True" />
<field name="description">Current pipeline estimates</field>
<field name="cell_overrides">{}</field>
</record>

<record id="demo_scenario_optimistic" model="spreadsheet.scenario">
<field name="name">Optimistic (+20%)</field>
<field name="spreadsheet_id" ref="demo_spreadsheet" />
<field name="description">20% uplift on all revenue</field>
<field
name="cell_overrides"
>{"Sales Pipeline!B2": 144000, "Sales Pipeline!C2": 168000, "Sales Pipeline!D2": 192000, "Sales Pipeline!B3": 96000, "Sales Pipeline!C3": 108000, "Sales Pipeline!D3": 120000, "Sales Pipeline!B4": 60000, "Sales Pipeline!C4": 72000, "Sales Pipeline!D4": 84000, "Sales Pipeline!B5": 36000, "Sales Pipeline!C5": 42000, "Sales Pipeline!D5": 48000, "Sales Pipeline!B6": 24000, "Sales Pipeline!C6": 30000, "Sales Pipeline!D6": 36000}</field>
</record>

<record id="demo_scenario_pessimistic" model="spreadsheet.scenario">
<field name="name">Pessimistic (-30%)</field>
<field name="spreadsheet_id" ref="demo_spreadsheet" />
<field name="description">30% reduction across the board</field>
<field
name="cell_overrides"
>{"Sales Pipeline!B2": 84000, "Sales Pipeline!C2": 98000, "Sales Pipeline!D2": 112000, "Sales Pipeline!B3": 56000, "Sales Pipeline!C3": 63000, "Sales Pipeline!D3": 70000, "Sales Pipeline!B4": 35000, "Sales Pipeline!C4": 42000, "Sales Pipeline!D4": 49000, "Sales Pipeline!B5": 21000, "Sales Pipeline!C5": 24500, "Sales Pipeline!D5": 28000, "Sales Pipeline!B6": 14000, "Sales Pipeline!C6": 17500, "Sales Pipeline!D6": 21000}</field>
</record>
</odoo>
2 changes: 2 additions & 0 deletions spreadsheet_oca/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from . import cell_ref # noqa: F401 — shared helpers; must be first
from . import spreadsheet_abstract
from . import spreadsheet_spreadsheet_tag
from . import spreadsheet_spreadsheet
from . import spreadsheet_oca_revision
from . import ir_websocket
from . import spreadsheet_spreadsheet_import_mode
from . import spreadsheet_scenario
Loading
Loading