mikebridge opened a new pull request, #45523:
URL: https://github.com/apache/superset/pull/45523

   ### SUMMARY
   
   **What users saw.** Owners who could open Recently Archived sometimes had no 
entry for it in Settings. Without a menu entry, they had to find a direct link 
again when they wanted to recover something later.
   
   **Why, in plain terms.** The page and the menu use different rules. Reading 
an archived item can be allowed even when the user cannot see the Manage 
section or its Recently Archived entry.
   
   **What this changes.** Users who can open the page get a Recently Archived 
entry under Settings → User when it is missing from the existing Settings menu. 
Users who already have it under Manage keep that entry without a duplicate. 
Page and object permissions remain unchanged.
   
   ### IMPLEMENTATION DETAILS
   
   The page and a new boolean in the existing navbar bootstrap payload share 
the same admission predicate: the archive feature is enabled, the viewer is 
authenticated, and the viewer can read charts, dashboards or datasets. The 
Settings dropdown uses that boolean and checks the stable server menu-item name 
before adding its fallback. The link respects the configured application root.
   
   No FAB menu permissions, role definitions, security-manager overrides, or 
endpoints change. Existing direct links remain available.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   Before: readers without the Manage menu or archive menu entry had no 
persistent Settings link.
   
   After: those readers get the link in the User section; readers with the 
existing entry keep it under Manage. Automated DOM tests cover presence and 
duplicate prevention; no browser screenshots captured.
   
   ### TESTING INSTRUCTIONS
   
   1. Enable `SOFT_DELETE`. As an authenticated user who can read at least one 
archived type but lacks Manage or Recently Archived menu access, open Settings 
and verify one Recently Archived link under User.
   2. As a user with both menu permissions, verify the existing Manage entry 
remains and there is no User duplicate. Repeat with translated labels.
   3. Verify no fallback is shown with the feature disabled, with no readable 
archived type, or for anonymous users.
   4. Repeat under an application URL prefix and verify the fallback opens the 
archive page.
   5. Verify the page retains its flag-off 404, anonymous login redirect, and 
403 for users without read permission. Recover/purge and object access retain 
their existing checks.
   
   Validation: 74 focused backend tests and 81 frontend tests (plus two 
snapshots) pass. Changed-file hooks include MyPy and frontend type checking. 
The existing translation catalog matches a fresh extraction.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [x] Required feature flags: `SOFT_DELETE`
   - [x] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   Reuses the existing Recently Archived translation string. Documentation 
describes both menu placements.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to