[PR #24859] [CLOSED] feat: add admin.analytics permission for analytics-only access #131557

Closed
opened 2026-05-21 17:12:46 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/24859
Author: @guility
Created: 5/18/2026
Status: Closed

Base: devHead: feat/admin-analytics-access


📝 Commits (1)

  • c2768d7 feat: add admin.analytics permission for analytics-only admin access

📊 Changes

27 files changed (+876 additions, -63 deletions)

View changed files

📝 backend/open_webui/config.py (+7 -0)
📝 backend/open_webui/main.py (+10 -0)
backend/open_webui/migrations/versions/f8a9b0c1d2e3_add_admin_analytics_permissions.py (+121 -0)
📝 backend/open_webui/models/users.py (+1 -0)
📝 backend/open_webui/routers/analytics.py (+9 -9)
📝 backend/open_webui/routers/users.py (+30 -2)
backend/open_webui/test/conftest.py (+15 -0)
backend/open_webui/test/migrations/test_admin_analytics_permissions_migration.py (+68 -0)
backend/open_webui/test/util/test_access_control_admin_analytics.py (+187 -0)
backend/open_webui/test/util/test_analytics_api_integration.py (+99 -0)
backend/open_webui/test/util/test_auth_analytics.py (+52 -0)
📝 backend/open_webui/utils/access_control/__init__.py (+37 -4)
📝 backend/open_webui/utils/auth.py (+26 -1)
pytest.ini (+9 -0)
📝 src/lib/apis/users/index.ts (+7 -1)
📝 src/lib/components/admin/Analytics.svelte (+3 -1)
📝 src/lib/components/admin/Users/Groups/EditGroupModal.svelte (+2 -1)
📝 src/lib/components/admin/Users/Groups/Permissions.svelte (+24 -1)
📝 src/lib/components/admin/Users/UserList/EditUserModal.svelte (+21 -1)
📝 src/lib/components/layout/Sidebar/UserMenu.svelte (+7 -4)

...and 7 more files

📄 Description

## Summary

  • Add admin.analytics permission for Analytics tab access without full admin role
  • Backend: get_analytics_user, access control merge, migration for existing configs/groups
  • Frontend: analytics-only admin layout, user menu, per-user/group/default permission UI
  • Fix Analytics component guard to use effective analytics access instead of admin role only

Test plan

  • Admin sees Admin Panel with all tabs including Analytics
  • User with only admin.analytics sees Analytics menu item and single Analytics tab
  • Direct navigation to /admin/settings redirects analytics-only users to /admin/analytics
  • Analytics API returns 200 for analytics user, 401 for users without permission
  • Run: pytest backend/open_webui/test/util/test_auth_analytics.py backend/open_webui/test/util/test_access_control_admin_analytics.py backend/open_webui/test/migrations/

Changelog

Added

  • admin.analytics user permission for granting Analytics dashboard access without full admin privileges

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/24859 **Author:** [@guility](https://github.com/guility) **Created:** 5/18/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `feat/admin-analytics-access` --- ### 📝 Commits (1) - [`c2768d7`](https://github.com/open-webui/open-webui/commit/c2768d706f4f9771b3332be0723d985b60fb4dcf) feat: add admin.analytics permission for analytics-only admin access ### 📊 Changes **27 files changed** (+876 additions, -63 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/config.py` (+7 -0) 📝 `backend/open_webui/main.py` (+10 -0) ➕ `backend/open_webui/migrations/versions/f8a9b0c1d2e3_add_admin_analytics_permissions.py` (+121 -0) 📝 `backend/open_webui/models/users.py` (+1 -0) 📝 `backend/open_webui/routers/analytics.py` (+9 -9) 📝 `backend/open_webui/routers/users.py` (+30 -2) ➕ `backend/open_webui/test/conftest.py` (+15 -0) ➕ `backend/open_webui/test/migrations/test_admin_analytics_permissions_migration.py` (+68 -0) ➕ `backend/open_webui/test/util/test_access_control_admin_analytics.py` (+187 -0) ➕ `backend/open_webui/test/util/test_analytics_api_integration.py` (+99 -0) ➕ `backend/open_webui/test/util/test_auth_analytics.py` (+52 -0) 📝 `backend/open_webui/utils/access_control/__init__.py` (+37 -4) 📝 `backend/open_webui/utils/auth.py` (+26 -1) ➕ `pytest.ini` (+9 -0) 📝 `src/lib/apis/users/index.ts` (+7 -1) 📝 `src/lib/components/admin/Analytics.svelte` (+3 -1) 📝 `src/lib/components/admin/Users/Groups/EditGroupModal.svelte` (+2 -1) 📝 `src/lib/components/admin/Users/Groups/Permissions.svelte` (+24 -1) 📝 `src/lib/components/admin/Users/UserList/EditUserModal.svelte` (+21 -1) 📝 `src/lib/components/layout/Sidebar/UserMenu.svelte` (+7 -4) _...and 7 more files_ </details> ### 📄 Description ## Summary - Add `admin.analytics` permission for Analytics tab access without full admin role - Backend: `get_analytics_user`, access control merge, migration for existing configs/groups - Frontend: analytics-only admin layout, user menu, per-user/group/default permission UI - Fix Analytics component guard to use effective analytics access instead of admin role only ## Test plan - [ ] Admin sees Admin Panel with all tabs including Analytics - [ ] User with only `admin.analytics` sees Analytics menu item and single Analytics tab - [ ] Direct navigation to `/admin/settings` redirects analytics-only users to `/admin/analytics` - [ ] Analytics API returns 200 for analytics user, 401 for users without permission - [ ] Run: `pytest backend/open_webui/test/util/test_auth_analytics.py backend/open_webui/test/util/test_access_control_admin_analytics.py backend/open_webui/test/migrations/` ## Changelog ### Added - `admin.analytics` user permission for granting Analytics dashboard access without full admin privileges --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-21 17:12:46 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#131557