Repository navigation
Conversation
Copied as is from Odoo 17.0 branch. Later commits will do the needed changes.
Currently translated at 100.0% (27 of 27 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_dashboard_purchase_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_dashboard_purchase_oca/it/
Currently translated at 100.0% (27 of 27 strings) Translation: spreadsheet-18.0/spreadsheet-18.0-spreadsheet_dashboard_purchase_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-18-0/spreadsheet-18-0-spreadsheet_dashboard_purchase_oca/fr/
Currently translated at 100.0% (31 of 31 strings) Translation: spreadsheet-19.0/spreadsheet-19.0-spreadsheet_dashboard_purchase_oca Translate-URL: https://translation.odoo-community.org/projects/spreadsheet-19-0/spreadsheet-19-0-spreadsheet_dashboard_purchase_oca/it/
Signed-off-by: Don Kendall <dkendall@ledoweb.com> Assisted-by: Claude Code
* data/dashboards.xml: payload loads with type="bytes", not type="base64". * vendors_dashboard.json: Dashboard sheet backgroundColor #F9FAFB, as core. Signed-off-by: Don Kendall <dkendall@ledoweb.com> Assisted-by: Claude Opus 5
…e 20.0 look Fits the canvas to 1000px, gives the chart its own title, formats the pivot Amount columns as currency and adds Product and Product Category filters. Assisted-by: Claude Opus 5
…rousels Moves each table to its own sheet behind a spilling formula, wraps the chart and tables in carousel cards, and lays the KPIs out as a grid with a new average order value card. Assisted-by: Claude Opus 5
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.
Fork-only branch. Takes the ideas from the enterprise "Purchase & Vendor analysis" dashboard on the 20.0 runbot (raised by @pedrobaeza on OCA#133) and applies the ones that do not require re-authoring the sheet. Not for upstream as-is — none of this is 20.0-forced, so it stays out of the
[MIG]PR.What changed
Amountcolumns truncated to "Amo…" and the 5th KPI card was clipped. Columns trimmed and the KPI row re-pitched (5 × 190 on a 199 pitch, ending at 995).title: ""and relied on a cell heading above it; it now carries its own teal title, and the duplicate cell heading plus its rule are gone. Click-through survives viachartOdooMenusReferences.#,##0, so they rendered8,971beside the list-backed Top Orders column's$6,465.50. They now use the[$$]#,##0format that was already defined and unused. The Top Products quantity column stays on#,##0.purchase.reportcarriesproduct_id/category_id; the list reaches them throughorder_line.Verified
Installed on a clean Odoo 20.0 with demo data and walked at a 1214px viewport (the width the enterprise comparison used). All 5 KPI cards and every Amount header render; the four pivot tables show
$; Qty Ordered stays plain. Product filter → pivots, chart, KPIs and the list all recompute. Product Category negative control (Services) → every figure drops to$0/0, proving the wiring rather than assuming it.Deliberately not done here
The 2×4 KPI grid, an Average order value KPI and the carousel conversion all reflow the sheet — core anchors
carouselDataViewitems to ranges on separate sheets, while this payload draws its tables inline. That is a re-authoring job for the spreadsheet editor, not JSON surgery, and it is what would also close the empty block under Top Orders (the list reserves 25 rows, demo fills ~14).Supplier service level, on-time deliveries, late receipts and vendor lead time need
purchase_stockmodels, so they belong inspreadsheet_dashboard_purchase_stock_oca, not here.AI-assisted (Claude Code); every change reviewed, tested, and owned by the author.
Second commit — the carousel rebuild (
ca4bd1c)This is the re-authoring I had deferred. It needed three things to happen together:
19.1.1,19.3.10) in Python. Without it, step19.3.10would rename the spillingODOO.LISTthis commit introduces intoODOO.LIST.VALUEand break it.=PIVOT(id,10,FALSE,FALSE)/=ODOO.LIST(1,10)), which is how core sizes a table to its data. This is what finally removes the empty block under Top Orders — not a row-count tweak.Supporting changes that the render caught:
Purchase Analysis by …→Country/Vendor/Buyer/Product, because a spilled pivot's first header cell is the pivot name (core names its display pivots the same way).origindeclared on the list, otherwise the Source column silently disappears — the old table pulled it with a per-cell formula the list definition never declared.amount_untaxedis monetary and formats itself, and overriding it rounded$6,465.50to$6,466.Verified on a clean 20.0 with demo data at 1214px and 1100px, before/after side by side.
Known deviations from enterprise
spreadsheet_dashboard_purchase_stock_oca.odooLinkReferences.