diff --git a/backend/open_webui/models/folders.py b/backend/open_webui/models/folders.py index 1df37cc4b0..56ef81f167 100644 --- a/backend/open_webui/models/folders.py +++ b/backend/open_webui/models/folders.py @@ -212,13 +212,13 @@ class FolderTable: .first() ) - if existing_folder: + if existing_folder and existing_folder.id != id: return None folder.name = form_data.get("name", folder.name) if "data" in form_data: folder.data = { - **folder.data, + **(folder.data or {}), **form_data["data"], } diff --git a/backend/open_webui/routers/folders.py b/backend/open_webui/routers/folders.py index 3ed2eb34a9..edc9f85ff2 100644 --- a/backend/open_webui/routers/folders.py +++ b/backend/open_webui/routers/folders.py @@ -120,7 +120,7 @@ async def update_folder_name_by_id( existing_folder = Folders.get_folder_by_parent_id_and_user_id_and_name( folder.parent_id, user.id, form_data.name ) - if existing_folder: + if existing_folder and existing_folder.id != id: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail=ERROR_MESSAGES.DEFAULT("Folder already exists"), diff --git a/src/lib/components/layout/Sidebar/Folders/EditFolderModal.svelte b/src/lib/components/layout/Sidebar/Folders/EditFolderModal.svelte new file mode 100644 index 0000000000..8ee7778730 --- /dev/null +++ b/src/lib/components/layout/Sidebar/Folders/EditFolderModal.svelte @@ -0,0 +1,136 @@ + + + +
+
+
+ {$i18n.t('Edit Folder')} +
+ +
+ +
+
+
{ + submitHandler(); + }} + > +
+
{$i18n.t('Folder Name')}
+ +
+ +
+
+ +
+ +
+
{$i18n.t('System Prompt')}
+
+