#252: port Licensing, Sharing, Storage & quotas into the admin shell (epic #250 phase 2) #258

Merged
Cordy merged 5 commits from feat/252-admin-port into main 2026-08-16 19:53:48 +00:00
Owner

Epic #250 phase 2. Decomposes the standalone License dialog and the monolithic Settings modal into Administration topic panels with intra-topic tabs.

Topics ported: Basic settings, Sharing (tabs: Policy / Active links), Storage & quotas (tabs: Usage / Limits), Retention & holds, Audit, Licensing (tabs: License / Seats / Billing).

Design notes:

  • Presentation-only: settings fields keep their IDs and are relocated into the panels at runtime; a single shared saveSettings() still PUTs the whole settings object — no settings-API change.
  • Per the "whole modal at once" decision, all settings-modal topics were ported together (not just the literal 3-topic slice) so the legacy modal isn't left half-migrated.
  • Tabs built as written in the issue (License/Seats/Billing, Policy/Active-links, Usage/Limits) using existing endpoints only: Seats/Billing render from GET /api/v1/license; Active links reuse GET /api/v1/shares.
  • Old License and Settings menu entries redirect into the shell. Deep links resolve to #admin/<topic>/<tab>.

Closes #252.

Epic #250 phase 2. Decomposes the standalone License dialog and the monolithic Settings modal into Administration topic panels with intra-topic tabs. Topics ported: Basic settings, Sharing (tabs: Policy / Active links), Storage & quotas (tabs: Usage / Limits), Retention & holds, Audit, Licensing (tabs: License / Seats / Billing). Design notes: - Presentation-only: settings fields keep their IDs and are relocated into the panels at runtime; a single shared `saveSettings()` still PUTs the whole settings object — no settings-API change. - Per the "whole modal at once" decision, all settings-modal topics were ported together (not just the literal 3-topic slice) so the legacy modal isn't left half-migrated. - Tabs built as written in the issue (License/Seats/Billing, Policy/Active-links, Usage/Limits) using existing endpoints only: Seats/Billing render from GET /api/v1/license; Active links reuse GET /api/v1/shares. - Old License and Settings menu entries redirect into the shell. Deep links resolve to `#admin/<topic>/<tab>`. Closes #252.
#252: drop stray py_compile artifact
All checks were successful
ci / test-and-build (pull_request) Successful in 33s
fc2d537d12
Cordy merged commit 60e86a2213 into main 2026-08-16 19:53:48 +00:00
Cordy deleted branch feat/252-admin-port 2026-08-16 19:53:50 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#258
No description provided.