From ac12b04aada033117f9f7e8ee4fb9562c7d5a417 Mon Sep 17 00:00:00 2001 From: Classic298 <27028174+Classic298@users.noreply.github.com> Date: Fri, 23 Oct 2026 03:58:17 +0200 Subject: [PATCH] fix: access button shows while sharing is not allowed (#32979) The Access button in the model, prompt, tool, knowledge, skill and note editors, the Access entry in their list menus and the Access button in folder settings showed to users without the matching sharing permission. The dialog then had nothing they could change. The button and the menu entry now only show to users who may share that kind of item, and admins see them as before. Refs #32830 --- .../layout/Sidebar/Folders/FolderModal.svelte | 2 +- src/lib/components/notes/NoteEditor.svelte | 18 ++++++++++-------- src/lib/components/notes/Notes.svelte | 8 ++++++-- src/lib/components/workspace/Knowledge.svelte | 5 ++++- .../workspace/Knowledge/KnowledgeBase.svelte | 6 +++--- src/lib/components/workspace/Models.svelte | 5 ++++- .../workspace/Models/ModelEditor.svelte | 4 +++- src/lib/components/workspace/Prompts.svelte | 4 +++- .../workspace/Prompts/PromptEditor.svelte | 4 +++- src/lib/components/workspace/Skills.svelte | 5 ++++- .../workspace/Skills/SkillEditor.svelte | 4 +++- src/lib/components/workspace/Tools.svelte | 4 +++- .../workspace/Tools/ToolkitEditor.svelte | 14 ++++++++------ 13 files changed, 55 insertions(+), 28 deletions(-) diff --git a/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte b/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte index ddff2e2246..16469fc5bf 100644 --- a/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte +++ b/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte @@ -137,7 +137,7 @@ {/if}
- {#if edit && folder && ($user?.role === 'admin' || folder.user_id === $user?.id)} + {#if edit && folder && ($user?.role === 'admin' || (folder.user_id === $user?.id && $user?.permissions?.sharing?.folders))} (showAccessModal = true)} /> {/if} - {#if knowledge.write_access} (showAccessControlModal = true)} - />{:else}{$i18n.t('Read Only')}{/if} + {#if knowledge.write_access}{#if $user?.permissions?.sharing?.knowledge || $user?.role === 'admin'} (showAccessControlModal = true)} + />{/if}{:else}{$i18n.t('Read Only')}{/if}
accessModal.open(model.id)} + accessHandler={$user?.permissions?.sharing?.models || + $user?.role === 'admin' + ? () => accessModal.open(model.id) + : null} user={$user} {model} writeAccess={model.write_access} diff --git a/src/lib/components/workspace/Models/ModelEditor.svelte b/src/lib/components/workspace/Models/ModelEditor.svelte index 9f4999d396..d234cf2b39 100644 --- a/src/lib/components/workspace/Models/ModelEditor.svelte +++ b/src/lib/components/workspace/Models/ModelEditor.svelte @@ -871,7 +871,9 @@ {translatedLocales} className="w-fit" /> - (showAccessControlModal = true)} /> + {#if $user?.permissions?.sharing?.models || $user?.role === 'admin'} + (showAccessControlModal = true)} /> + {/if}
{/if} diff --git a/src/lib/components/workspace/Prompts.svelte b/src/lib/components/workspace/Prompts.svelte index 4682b0fa8a..4005819cb8 100644 --- a/src/lib/components/workspace/Prompts.svelte +++ b/src/lib/components/workspace/Prompts.svelte @@ -701,7 +701,9 @@
accessModal.open(prompt.id)} + accessHandler={$user?.permissions?.sharing?.prompts || $user?.role === 'admin' + ? () => accessModal.open(prompt.id) + : null} writeAccess={prompt.write_access} show={openPromptMenuId === prompt.id} editHandler={() => { diff --git a/src/lib/components/workspace/Prompts/PromptEditor.svelte b/src/lib/components/workspace/Prompts/PromptEditor.svelte index bbef4c7c93..882dfd29d1 100644 --- a/src/lib/components/workspace/Prompts/PromptEditor.svelte +++ b/src/lib/components/workspace/Prompts/PromptEditor.svelte @@ -458,7 +458,9 @@ {/if}
- {#if !disabled} (showAccessControlModal = true)} /> + {#if !disabled}{#if $user?.permissions?.sharing?.prompts || $user?.role === 'admin'} (showAccessControlModal = true)} + />{/if} {:else}{$i18n.t('Read Only')}{/if} {#if modal}