Skip to content

Saas 19.2#115

Closed
susaglam wants to merge 18 commits intoOCA:18.0from
susaglam:saas-19.2
Closed

Saas 19.2#115
susaglam wants to merge 18 commits intoOCA:18.0from
susaglam:saas-19.2

Conversation

@susaglam
Copy link
Copy Markdown

No description provided.

OCA-git-bot and others added 18 commits September 30, 2025 14:31
Brings all OCA spreadsheet modules from 18.0 as the base for 19.0 migration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update version numbers from 18.0 to 19.0 in all four modules
- Fix JS import path: @spreadsheet/assets_backend/helpers →
  @spreadsheet/helpers/helpers (path moved in Odoo 19)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove loadSpreadsheetDependencies import and call (Chart.js is now
  auto-included in spreadsheet.o_spreadsheet bundle via manifest)
- Remove "version": 1 from empty spreadsheet data to match upstream
  Odoo 19.0 spreadsheet.mixin behavior

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update version numbers to saas~19.2.1.0.0 format
- Rename _empty_spreadsheet_data_base64() to _empty_spreadsheet_data_bin()
  to match upstream saas-19.2 spreadsheet.mixin API change: method now
  returns raw JSON bytes instead of base64-encoded bytes, caller handles
  the base64 encoding

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove category_id field from res.groups records (field removed in
  Odoo 19, replaced by privilege_id on res.groups.privilege)
- Update domain rules: user.groups_id → user.group_ids (field renamed
  in Odoo 19)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- ir.ui.menu: groups_id → group_ids (field renamed in Odoo 19)
- _sql_constraints list → models.Constraint() (new format in Odoo 19)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The 'users' field was removed from res.groups in Odoo 19. Admin users
get the group through implied_ids chain instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In Odoo 19, o-spreadsheet core already registers "file" and "settings"
in topbarMenuRegistry. Calling .add() with an existing key throws
"file is already present in this registry!". Remove the duplicate
registrations, keep only OCA-specific children (filters, save, download).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In Odoo 19, the "New" button's parent changed from a DOM element to
a <t t-set-slot="control-panel-create-button"> OWL slot. The old xpath
targeting the parent caused the button to render outside the control
panel. Updated xpath to target the button directly within the slot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In Odoo 19, core spreadsheet registers chart subtypes and side panels
that OCA also registers. Registry.add() throws on duplicate keys.
Use try/catch with fallback to replace() for all registry additions
to safely handle both fresh installs and coexistence with core.

Affected registries: chartSubtypeRegistry, chartSidePanelComponentRegistry,
sidePanelRegistry, pivotSidePanelRegistry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In saas-19.2, odoo.http became a package and content_disposition moved
to odoo.http.stream module.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In saas-19.2, the ListView template structure changed: the "New" button
moved from an inline control-panel-create-button slot to a separate
web.ListView.Buttons template. Update xpath to inherit the correct
template.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Since category_id was removed from res.groups in Odoo 19, the
spreadsheet groups were not visible in Settings and not automatically
assigned to any user. Fix by adding implied_ids to base.group_user
so all internal users get spreadsheet access by default.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the previous implied_ids workaround with the proper Odoo 19
privilege system:
- Create res.groups.privilege record linked to ir.module.category
- Link both User and Manager groups via privilege_id

This makes the groups visible in Settings → Users with selectable
options: No Access / User / Manager. Admins can control spreadsheet
access per user.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Same issue as Odoo 19.0: web.ListView.Buttons template no longer wraps
buttons in <div class="o_list_buttons">. The existing xpath fails on
saas-19.2 producing an OWL crash "Element cannot be located in element tree".

Target the o_list_button_add button instead which is a stable anchor
in the new template structure.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…stead of date

Odoo 19+ stock.picking model no longer has a 'date' field — it was renamed
to 'scheduled_date'. The purchase_dashboard.json list definition for
stock.picking referenced 'date' causing installation to fail with:
    field 'date' used in spreadsheet 'Purchase' does not exist
    on model 'stock.picking'

Fix: update list columns, orderBy and ODOO.LIST cell references to use
'scheduled_date'.

Also apply prettier formatting for two multi-line object literals in
spreadsheet_oca (side panel registrations) to satisfy pre-commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fixes reported by OCA pre-commit CI:

1. Prettier (JSON + JS):
   - purchase_dashboard.json reformatted with compact arrays where they fit
     within printWidth, plus trailing newline.
   - filter.esm.js: sidePanelRegistry.add EditFilterPanel multi-lined
     (matching the already-multi-lined .replace call).

2. Pylint-odoo W8161 (prefer-env-translation):
   Replace `_()` with `self.env._()` which is the new recommended pattern
   for translation in Odoo 19+ (closes over env context automatically).
   - spreadsheet_dashboard_oca/models/spreadsheet_dashboard.py: 2 sites
   - spreadsheet_oca/models/spreadsheet_abstract.py: 1 site
   - spreadsheet_oca/models/spreadsheet_spreadsheet.py: 1 site
   Removed unused `_` imports.

3. Pylint-odoo E8148 (inheritable-method-lambda):
   Wrap `default=_get_default_color` with a lambda to keep the method
   inheritable: `default=lambda self: self._get_default_color()`.
   - spreadsheet_oca/models/spreadsheet_spreadsheet_tag.py

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@OCA-git-bot OCA-git-bot added mod:spreadsheet_dashboard_oca Module spreadsheet_dashboard_oca mod:spreadsheet_dashboard_purchase_stock_oca Module spreadsheet_dashboard_purchase_stock_oca mod:spreadsheet_oca Module spreadsheet_oca mod:spreadsheet_dashboard_purchase_oca Module spreadsheet_dashboard_purchase_oca series:18.0 labels Apr 17, 2026
@pedrobaeza
Copy link
Copy Markdown
Member

saas-19.2 is not a valid OCA branch. What do you want to make here?

@legalsylvain
Copy link
Copy Markdown
Contributor

Duplicate of #114

@legalsylvain legalsylvain marked this as a duplicate of #114 Apr 17, 2026
@susaglam
Copy link
Copy Markdown
Author

I made a request here by mistake. I only thought I had made a request for version 19. Sorry:). I delete the request.

@susaglam susaglam deleted the saas-19.2 branch April 18, 2026 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:spreadsheet_dashboard_oca Module spreadsheet_dashboard_oca mod:spreadsheet_dashboard_purchase_oca Module spreadsheet_dashboard_purchase_oca mod:spreadsheet_dashboard_purchase_stock_oca Module spreadsheet_dashboard_purchase_stock_oca mod:spreadsheet_oca Module spreadsheet_oca series:18.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants