diff --git a/backend/DELETE b/backend/DELETE new file mode 100644 index 000000000..e69de29bb diff --git a/backend/danswer/db/persona.py b/backend/danswer/db/persona.py index 6446e7382..5194a0671 100644 --- a/backend/danswer/db/persona.py +++ b/backend/danswer/db/persona.py @@ -259,7 +259,6 @@ def get_personas( ) -> Sequence[Persona]: stmt = select(Persona).distinct() stmt = _add_user_filters(stmt=stmt, user=user, get_editable=get_editable) - if not include_default: stmt = stmt.where(Persona.builtin_persona.is_(False)) if not include_slack_bot_personas: diff --git a/backend/danswer/server/manage/llm/api.py b/backend/danswer/server/manage/llm/api.py index 9cac96236..f52877d91 100644 --- a/backend/danswer/server/manage/llm/api.py +++ b/backend/danswer/server/manage/llm/api.py @@ -30,7 +30,6 @@ from danswer.utils.threadpool_concurrency import run_functions_tuples_in_paralle logger = setup_logger() - admin_router = APIRouter(prefix="/admin/llm") basic_router = APIRouter(prefix="/llm") diff --git a/web/src/components/UserDropdown.tsx b/web/src/components/UserDropdown.tsx index 80c6be178..8a1503410 100644 --- a/web/src/components/UserDropdown.tsx +++ b/web/src/components/UserDropdown.tsx @@ -57,7 +57,7 @@ const DropdownOption: React.FC = ({ }; export function UserDropdown({ page }: { page?: pageType }) { - const { user } = useUser(); + const { user, isCurator } = useUser(); const [userInfoVisible, setUserInfoVisible] = useState(false); const userInfoRef = useRef(null); const router = useRouter(); @@ -95,7 +95,9 @@ export function UserDropdown({ page }: { page?: pageType }) { } // Construct the current URL - const currentUrl = `${pathname}${searchParams.toString() ? `?${searchParams.toString()}` : ""}`; + const currentUrl = `${pathname}${ + searchParams.toString() ? `?${searchParams.toString()}` : "" + }`; // Encode the current URL to use as a redirect parameter const encodedRedirect = encodeURIComponent(currentUrl); @@ -106,9 +108,7 @@ export function UserDropdown({ page }: { page?: pageType }) { }; const showAdminPanel = !user || user.role === UserRole.ADMIN; - const showCuratorPanel = - user && - (user.role === UserRole.CURATOR || user.role === UserRole.GLOBAL_CURATOR); + const showCuratorPanel = user && isCurator; const showLogout = user && !checkUserIsNoAuthUser(user.id) && !LOGOUT_DISABLED; @@ -244,7 +244,11 @@ export function UserDropdown({ page }: { page?: pageType }) { setShowNotifications(true); }} icon={} - label={`Notifications ${notifications && notifications.length > 0 ? `(${notifications.length})` : ""}`} + label={`Notifications ${ + notifications && notifications.length > 0 + ? `(${notifications.length})` + : "" + }`} /> {showLogout && diff --git a/web/src/components/context/AssistantsContext.tsx b/web/src/components/context/AssistantsContext.tsx index 87e498d16..4c3892402 100644 --- a/web/src/components/context/AssistantsContext.tsx +++ b/web/src/components/context/AssistantsContext.tsx @@ -47,7 +47,7 @@ export const AssistantsProvider: React.FC<{ const [assistants, setAssistants] = useState( initialAssistants || [] ); - const { user, isLoadingUser, isAdmin } = useUser(); + const { user, isLoadingUser, isAdmin, isCurator } = useUser(); const [editablePersonas, setEditablePersonas] = useState([]); const [allAssistants, setAllAssistants] = useState([]); @@ -83,7 +83,7 @@ export const AssistantsProvider: React.FC<{ useEffect(() => { const fetchPersonas = async () => { - if (!isAdmin) { + if (!isAdmin && !isCurator) { return; } @@ -101,6 +101,8 @@ export const AssistantsProvider: React.FC<{ if (allResponse.ok) { const allPersonas = await allResponse.json(); setAllAssistants(allPersonas); + } else { + console.error("Error fetching personas:", allResponse); } } catch (error) { console.error("Error fetching personas:", error); @@ -108,7 +110,7 @@ export const AssistantsProvider: React.FC<{ }; fetchPersonas(); - }, [isAdmin]); + }, [isAdmin, isCurator]); const refreshRecentAssistants = async (currentAssistant: number) => { const response = await fetch("/api/user/recent-assistants", { diff --git a/web/src/components/user/UserProvider.tsx b/web/src/components/user/UserProvider.tsx index 48ea8826f..be5f0b815 100644 --- a/web/src/components/user/UserProvider.tsx +++ b/web/src/components/user/UserProvider.tsx @@ -67,7 +67,10 @@ export function UserProvider({ isLoadingUser, refreshUser, isAdmin: upToDateUser?.role === UserRole.ADMIN, - isCurator: upToDateUser?.role === UserRole.CURATOR, + // Curator status applies for either global or basic curator + isCurator: + upToDateUser?.role === UserRole.CURATOR || + upToDateUser?.role === UserRole.GLOBAL_CURATOR, isCloudSuperuser: upToDateUser?.is_cloud_superuser ?? false, }} >