Merge pull request #17801 from Classic298/feature/notes-public-sharing-permission
feat: add permission toggle for public sharing of notes
This commit is contained in:
commit
d10b518f42
|
@ -1217,6 +1217,11 @@ USER_PERMISSIONS_WORKSPACE_MODELS_ALLOW_PUBLIC_SHARING = (
|
||||||
== "true"
|
== "true"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING = (
|
||||||
|
os.environ.get("USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING", "False").lower()
|
||||||
|
== "true"
|
||||||
|
)
|
||||||
|
|
||||||
USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING = (
|
USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING = (
|
||||||
os.environ.get(
|
os.environ.get(
|
||||||
"USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING", "False"
|
"USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING", "False"
|
||||||
|
@ -1354,6 +1359,7 @@ DEFAULT_USER_PERMISSIONS = {
|
||||||
"public_knowledge": USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING,
|
"public_knowledge": USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_PUBLIC_SHARING,
|
||||||
"public_prompts": USER_PERMISSIONS_WORKSPACE_PROMPTS_ALLOW_PUBLIC_SHARING,
|
"public_prompts": USER_PERMISSIONS_WORKSPACE_PROMPTS_ALLOW_PUBLIC_SHARING,
|
||||||
"public_tools": USER_PERMISSIONS_WORKSPACE_TOOLS_ALLOW_PUBLIC_SHARING,
|
"public_tools": USER_PERMISSIONS_WORKSPACE_TOOLS_ALLOW_PUBLIC_SHARING,
|
||||||
|
"public_notes": USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING,
|
||||||
},
|
},
|
||||||
"chat": {
|
"chat": {
|
||||||
"controls": USER_PERMISSIONS_CHAT_CONTROLS,
|
"controls": USER_PERMISSIONS_CHAT_CONTROLS,
|
||||||
|
|
|
@ -180,6 +180,18 @@ async def update_note_by_id(
|
||||||
status_code=status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.DEFAULT()
|
status_code=status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.DEFAULT()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Check if user can share publicly
|
||||||
|
if (
|
||||||
|
user.role != "admin"
|
||||||
|
and form_data.access_control == None
|
||||||
|
and not has_permission(
|
||||||
|
user.id,
|
||||||
|
"sharing.public_notes",
|
||||||
|
request.app.state.config.USER_PERMISSIONS,
|
||||||
|
)
|
||||||
|
):
|
||||||
|
form_data.access_control = {}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
note = Notes.update_note_by_id(id, form_data)
|
note = Notes.update_note_by_id(id, form_data)
|
||||||
await sio.emit(
|
await sio.emit(
|
||||||
|
|
|
@ -157,6 +157,7 @@ class SharingPermissions(BaseModel):
|
||||||
public_knowledge: bool = True
|
public_knowledge: bool = True
|
||||||
public_prompts: bool = True
|
public_prompts: bool = True
|
||||||
public_tools: bool = True
|
public_tools: bool = True
|
||||||
|
public_notes: bool = True
|
||||||
|
|
||||||
|
|
||||||
class ChatPermissions(BaseModel):
|
class ChatPermissions(BaseModel):
|
||||||
|
|
|
@ -17,7 +17,8 @@
|
||||||
public_models: false,
|
public_models: false,
|
||||||
public_knowledge: false,
|
public_knowledge: false,
|
||||||
public_prompts: false,
|
public_prompts: false,
|
||||||
public_tools: false
|
public_tools: false,
|
||||||
|
public_notes: false
|
||||||
},
|
},
|
||||||
chat: {
|
chat: {
|
||||||
controls: true,
|
controls: true,
|
||||||
|
@ -247,6 +248,13 @@
|
||||||
</div>
|
</div>
|
||||||
<Switch bind:state={permissions.sharing.public_tools} />
|
<Switch bind:state={permissions.sharing.public_tools} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class=" flex w-full justify-between my-2 pr-2">
|
||||||
|
<div class=" self-center text-xs font-medium">
|
||||||
|
{$i18n.t('Notes Public Sharing')}
|
||||||
|
</div>
|
||||||
|
<Switch bind:state={permissions.sharing.public_notes} />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr class=" border-gray-100 dark:border-gray-850 my-2" />
|
<hr class=" border-gray-100 dark:border-gray-850 my-2" />
|
||||||
|
|
Loading…
Reference in New Issue