Page MenuHomePhabricator

Allow users who can edit a dashboard to remove invalid / restricted panels
ClosedPublic

Authored by epriestley on Feb 5 2017, 12:16 AM.
Tags
None
Referenced Files
F12856378: D17314.id41641.diff
Fri, Mar 29, 9:39 AM
F12850741: D17314.diff
Fri, Mar 29, 5:49 AM
Unknown Object (File)
Tue, Mar 5, 6:49 AM
Unknown Object (File)
Feb 9 2024, 4:05 PM
Unknown Object (File)
Feb 8 2024, 9:38 AM
Unknown Object (File)
Feb 2 2024, 12:19 AM
Unknown Object (File)
Jan 23 2024, 9:00 PM
Unknown Object (File)
Jan 16 2024, 5:14 PM
Subscribers

Details

Summary

Ref T12207. Currently, to remove a panel from a dashboard, it must be a valid panel which you can see.

Instead, only require that the panel PHID actually be listed somewhere in the dashboard's internal list of panels.

This interacts with the "multiple instances of a panel" issue described in some more depth in T12207. In particular:

  • Currently, you can sort of add multiple copies of a panel to a dashboard, sometimes? Maybe?
  • This leads to great tragedy.

This doesn't fix up the workflow with respect to multiple copies of a panel. We still remove by panel PHID (not by column/position or internal ID) so if a dashboard has multiple copies of the same panel for some reason, I think this workflow removes one of them arbitrarily (at best) or perhaps does something worse. I'm just treating this behavior as undefined for the moment.

Test Plan
  • Removed an invalid/hidden panel from a dashboard as a user with permission to edit that dashboard.
  • Tried to remove a made-up panel with a totally bogus PHID, got 404'd.
  • Viewed a dashboard with a restricted panel.
  • Put a hidden panel inside a tab panel, viewed it as a user who could not see it and a user who could.

Diff Detail

Repository
rP Phabricator
Branch
dash1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 15541
Build 20494: Run Core Tests
Build 20493: arc lint + arc unit