refac
This commit is contained in:
@@ -1446,7 +1446,8 @@ USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS = (
|
USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS = (
|
||||||
os.environ.get("USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS", "True").lower() == "true"
|
os.environ.get("USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS", "True").lower()
|
||||||
|
== "true"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1048,11 +1048,9 @@ EXTERNAL_PWA_MANIFEST_URL = os.environ.get("EXTERNAL_PWA_MANIFEST_URL")
|
|||||||
|
|
||||||
# Controls the default "Who can share to this group" setting for new groups.
|
# Controls the default "Who can share to this group" setting for new groups.
|
||||||
# Env var values: "true" (anyone), "false" (no one), "members" (only group members).
|
# Env var values: "true" (anyone), "false" (no one), "members" (only group members).
|
||||||
_default_group_share = os.environ.get(
|
_default_group_share = (
|
||||||
"DEFAULT_GROUP_SHARE_PERMISSION", "members"
|
os.environ.get("DEFAULT_GROUP_SHARE_PERMISSION", "members").strip().lower()
|
||||||
).strip().lower()
|
)
|
||||||
DEFAULT_GROUP_SHARE_PERMISSION = (
|
DEFAULT_GROUP_SHARE_PERMISSION = (
|
||||||
"members"
|
"members" if _default_group_share == "members" else _default_group_share == "true"
|
||||||
if _default_group_share == "members"
|
|
||||||
else _default_group_share == "true"
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -225,8 +225,18 @@ def strip_user_access_grants(access_grants: Optional[list]) -> list:
|
|||||||
grant
|
grant
|
||||||
for grant in access_grants
|
for grant in access_grants
|
||||||
if not (
|
if not (
|
||||||
(grant.get("principal_type") if isinstance(grant, dict) else getattr(grant, "principal_type", None)) == "user"
|
(
|
||||||
and (grant.get("principal_id") if isinstance(grant, dict) else getattr(grant, "principal_id", None)) != "*"
|
grant.get("principal_type")
|
||||||
|
if isinstance(grant, dict)
|
||||||
|
else getattr(grant, "principal_type", None)
|
||||||
|
)
|
||||||
|
== "user"
|
||||||
|
and (
|
||||||
|
grant.get("principal_id")
|
||||||
|
if isinstance(grant, dict)
|
||||||
|
else getattr(grant, "principal_id", None)
|
||||||
|
)
|
||||||
|
!= "*"
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -551,7 +551,7 @@ async def update_knowledge_access_by_id(
|
|||||||
user.id,
|
user.id,
|
||||||
user.role,
|
user.role,
|
||||||
form_data.access_grants,
|
form_data.access_grants,
|
||||||
"sharing.public_knowledge"
|
"sharing.public_knowledge",
|
||||||
)
|
)
|
||||||
|
|
||||||
AccessGrants.set_access_grants("knowledge", id, form_data.access_grants, db=db)
|
AccessGrants.set_access_grants("knowledge", id, form_data.access_grants, db=db)
|
||||||
|
|||||||
@@ -570,7 +570,7 @@ async def update_model_access_by_id(
|
|||||||
user.id,
|
user.id,
|
||||||
user.role,
|
user.role,
|
||||||
form_data.access_grants,
|
form_data.access_grants,
|
||||||
"sharing.public_models"
|
"sharing.public_models",
|
||||||
)
|
)
|
||||||
|
|
||||||
AccessGrants.set_access_grants(
|
AccessGrants.set_access_grants(
|
||||||
|
|||||||
@@ -358,7 +358,7 @@ async def update_note_access_by_id(
|
|||||||
user.id,
|
user.id,
|
||||||
user.role,
|
user.role,
|
||||||
form_data.access_grants,
|
form_data.access_grants,
|
||||||
"sharing.public_notes"
|
"sharing.public_notes",
|
||||||
)
|
)
|
||||||
|
|
||||||
AccessGrants.set_access_grants("note", id, form_data.access_grants, db=db)
|
AccessGrants.set_access_grants("note", id, form_data.access_grants, db=db)
|
||||||
|
|||||||
@@ -478,7 +478,7 @@ async def update_prompt_access_by_id(
|
|||||||
user.id,
|
user.id,
|
||||||
user.role,
|
user.role,
|
||||||
form_data.access_grants,
|
form_data.access_grants,
|
||||||
"sharing.public_prompts"
|
"sharing.public_prompts",
|
||||||
)
|
)
|
||||||
|
|
||||||
AccessGrants.set_access_grants("prompt", prompt_id, form_data.access_grants, db=db)
|
AccessGrants.set_access_grants("prompt", prompt_id, form_data.access_grants, db=db)
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ async def update_skill_access_by_id(
|
|||||||
user.id,
|
user.id,
|
||||||
user.role,
|
user.role,
|
||||||
form_data.access_grants,
|
form_data.access_grants,
|
||||||
"sharing.public_skills"
|
"sharing.public_skills",
|
||||||
)
|
)
|
||||||
|
|
||||||
AccessGrants.set_access_grants("skill", id, form_data.access_grants, db=db)
|
AccessGrants.set_access_grants("skill", id, form_data.access_grants, db=db)
|
||||||
|
|||||||
@@ -581,7 +581,7 @@ async def update_tool_access_by_id(
|
|||||||
user.id,
|
user.id,
|
||||||
user.role,
|
user.role,
|
||||||
form_data.access_grants,
|
form_data.access_grants,
|
||||||
"sharing.public_tools"
|
"sharing.public_tools",
|
||||||
)
|
)
|
||||||
|
|
||||||
AccessGrants.set_access_grants("tool", id, form_data.access_grants, db=db)
|
AccessGrants.set_access_grants("tool", id, form_data.access_grants, db=db)
|
||||||
|
|||||||
@@ -195,6 +195,7 @@ def migrate_access_control(
|
|||||||
data[grants_key] = grants
|
data[grants_key] = grants
|
||||||
data.pop(ac_key, None)
|
data.pop(ac_key, None)
|
||||||
|
|
||||||
|
|
||||||
from open_webui.models.access_grants import (
|
from open_webui.models.access_grants import (
|
||||||
has_public_read_access_grant,
|
has_public_read_access_grant,
|
||||||
has_user_access_grant,
|
has_user_access_grant,
|
||||||
@@ -228,8 +229,18 @@ def filter_allowed_access_grants(
|
|||||||
grant
|
grant
|
||||||
for grant in access_grants
|
for grant in access_grants
|
||||||
if not (
|
if not (
|
||||||
(grant.get("principal_type") if isinstance(grant, dict) else getattr(grant, "principal_type", None)) == "user"
|
(
|
||||||
and (grant.get("principal_id") if isinstance(grant, dict) else getattr(grant, "principal_id", None)) == "*"
|
grant.get("principal_type")
|
||||||
|
if isinstance(grant, dict)
|
||||||
|
else getattr(grant, "principal_type", None)
|
||||||
|
)
|
||||||
|
== "user"
|
||||||
|
and (
|
||||||
|
grant.get("principal_id")
|
||||||
|
if isinstance(grant, dict)
|
||||||
|
else getattr(grant, "principal_id", None)
|
||||||
|
)
|
||||||
|
== "*"
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -243,4 +254,3 @@ def filter_allowed_access_grants(
|
|||||||
access_grants = strip_user_access_grants(access_grants)
|
access_grants = strip_user_access_grants(access_grants)
|
||||||
|
|
||||||
return access_grants
|
return access_grants
|
||||||
|
|
||||||
|
|||||||
@@ -4321,8 +4321,7 @@ async def streaming_chat_response_handler(response, ctx):
|
|||||||
code = sanitize_code(code)
|
code = sanitize_code(code)
|
||||||
|
|
||||||
if CODE_INTERPRETER_BLOCKED_MODULES:
|
if CODE_INTERPRETER_BLOCKED_MODULES:
|
||||||
blocking_code = textwrap.dedent(
|
blocking_code = textwrap.dedent(f"""
|
||||||
f"""
|
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
BLOCKED_MODULES = {CODE_INTERPRETER_BLOCKED_MODULES}
|
BLOCKED_MODULES = {CODE_INTERPRETER_BLOCKED_MODULES}
|
||||||
@@ -4338,8 +4337,7 @@ async def streaming_chat_response_handler(response, ctx):
|
|||||||
return _real_import(name, globals, locals, fromlist, level)
|
return _real_import(name, globals, locals, fromlist, level)
|
||||||
|
|
||||||
builtins.__import__ = restricted_import
|
builtins.__import__ = restricted_import
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
code = blocking_code + "\n" + code
|
code = blocking_code + "\n" + code
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -277,9 +277,7 @@ def get_last_user_message(messages: list[dict]) -> Optional[str]:
|
|||||||
return get_content_from_message(message)
|
return get_content_from_message(message)
|
||||||
|
|
||||||
|
|
||||||
def set_last_user_message_content(
|
def set_last_user_message_content(content: str, messages: list[dict]) -> list[dict]:
|
||||||
content: str, messages: list[dict]
|
|
||||||
) -> list[dict]:
|
|
||||||
"""
|
"""
|
||||||
Replace the text content of the last user message in-place.
|
Replace the text content of the last user message in-place.
|
||||||
Handles both plain-string and list-of-parts content formats.
|
Handles both plain-string and list-of-parts content formats.
|
||||||
|
|||||||
Reference in New Issue
Block a user