Skip to content

[19.0][IMP] spreadsheet_dashboard_oca: manage dashboard share links - #130

Open
volkantasci wants to merge 1 commit into
OCA:19.0from
volkantasci:19.0-add-spreadsheet-dashboard-share-oca
Open

[19.0][IMP] spreadsheet_dashboard_oca: manage dashboard share links#130
volkantasci wants to merge 1 commit into
OCA:19.0from
volkantasci:19.0-add-spreadsheet-dashboard-share-oca

Conversation

@volkantasci

@volkantasci volkantasci commented Aug 4, 2026

Copy link
Copy Markdown

Following maintainer feedback, the share-link management feature previously proposed as the standalone spreadsheet_dashboard_share_oca module is now folded directly into the main spreadsheet_dashboard_oca module.

Core's spreadsheet_dashboard only lets users create share links; there is no UI to list or revoke them. This PR adds:

  • a "Manage shares" entry on the dashboard Share button, opening a dialog to list, copy and revoke the share links of a dashboard;
  • a badge next to the dashboard name in the sidebar showing the number of active shares;
  • an ir.rule so spreadsheet_dashboard.group_dashboard_manager users can manage the shares created by any user (other users manage their own).

Python and JS tests moved along; module version bumped to 19.0.2.0.0.

@OCA-git-bot OCA-git-bot added series:19.0 mod:spreadsheet_dashboard_share_oca Module spreadsheet_dashboard_share_oca labels Aug 4, 2026
@volkantasci
volkantasci force-pushed the 19.0-add-spreadsheet-dashboard-share-oca branch from c494e67 to 62beb16 Compare August 5, 2026 00:11
@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza and @victoralmau 👋

Just a gentle check-in — if anyone has a moment, this PR would really benefit from a look whenever you're available. All CI checks are green (pre-commit, Odoo/OCB tests, codecov, runboat).

No pressure at all — happy to make any changes you suggest. Thanks for everything you do!

@pedrobaeza

Copy link
Copy Markdown
Member

I think this should be part of the main module, as the share option is something already in it.

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza, thanks for the feedback — and apologies for the slow reply.

Agreed, the share-link management UI belongs in the main module. To clarify what this PR adds: core's spreadsheet.dashboard.share only lets you create share links; there is no way in the UI to list existing links or revoke them. This PR fills that gap with a "Manage shares" dialog (list / copy / revoke) and a share-count badge — it builds on the existing share model, nothing is duplicated.

You're right that a separate companion module isn't the right shape for a small, dependency-free addition like this. We'll rework the PR to fold the feature directly into spreadsheet_dashboard_oca — model extensions, ir.rule, bundle patches and tests moved into the main module, retitled as [IMP] — and update it here. Thanks again for the direction!

Fold the dashboard share management feature previously proposed as the
standalone spreadsheet_dashboard_share_oca module into the main module,
following maintainer feedback on the original PR.

Core's spreadsheet_dashboard only lets users create share links; there is
no UI to list or revoke them. This adds a "Manage shares" dialog
(list / copy / revoke) and a share-count badge next to the dashboard
name, plus an ir.rule letting dashboard managers manage the shares of
every user.

Python and JS tests are moved along and the module version is bumped to
19.0.2.0.0.
@volkantasci
volkantasci force-pushed the 19.0-add-spreadsheet-dashboard-share-oca branch from 62beb16 to 2b583a2 Compare August 17, 2026 17:56
@volkantasci volkantasci changed the title [19.0][ADD] spreadsheet_dashboard_share_oca: manage dashboard share links [19.0][IMP] spreadsheet_dashboard_oca: manage dashboard share links Aug 17, 2026
@volkantasci

Copy link
Copy Markdown
Author

Reworked as discussed, @pedrobaeza 👋

The PR no longer adds a standalone module — the share management is folded into spreadsheet_dashboard_oca itself:

  • Manage shares dialog (list / copy / revoke) on the dashboard Share button,
  • share-count badge next to the dashboard name in the sidebar,
  • ir.rule for the dashboard manager group,
  • Python + JS tests moved along, module version bumped to 19.0.2.0.0.

No new dependency is introduced. When you have a moment, could you take another look? Happy to adjust anything.

@volkantasci

Copy link
Copy Markdown
Author

Hi @pedrobaeza 👋

Following your feedback on 2026-08-12, the PR has been reworked as [IMP] into the main module (no new module, Manage shares dialog + badge + ir.rule moved into spreadsheet_dashboard_oca, v19.0.2.0.0). CI is green.

Could you take another look when convenient?

Thanks!

@pedrobaeza pedrobaeza added this to the 19.0 milestone Aug 26, 2026

@pedrobaeza pedrobaeza left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and working as expected. Thanks for the contribution.

Some notes for other testers about runboat:

  • Copy link option doesn't work (at least in Firefox) if not HTTPS, so you have to rewrite the runboat URL with https:// and accept the "untrusted source".
  • On an incognito windows, it doesn't serve only to paste the shared URL, as there are several DBs. First, you have to enter the base URL, and select the DB.

About the included tests, being AI generated, they are too extensive and not useful at all in several cases, as they are not testing the flows, but calling direct methods and checking literal outputs . Please reduce them and synthesize them in practical ones. You can also join several following a flow: for example, the unshare one can be in the same test than the share one, doing the checks right after it. This way, you also care about testing times, not repeating same operations several times.

"version": "19.0.1.0.0",
Use OCA Spreadsheets on dashboards configuration and manage
dashboard share links""",
"version": "19.0.2.0.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't change manually the module version. It's done by the bot. This is done for avoiding conflicts if other pull request touch the same module. Anyway, for now there's no conflict.

dashboard = self.create_dashboard()
share_raoul = self._share_as(self.user, dashboard)
share_bob = self._share_as(self.user2, dashboard)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don't introduce empty lines inside methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:spreadsheet_dashboard_share_oca Module spreadsheet_dashboard_share_oca series:19.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants