mirror of
https://github.com/open-webui/open-webui
synced 2025-04-24 00:06:11 +00:00
enh: file upload user permission
This commit is contained in:
parent
cf2dcf1dc3
commit
f5df0625e3
@ -1,10 +1,11 @@
|
|||||||
from typing import Optional, Union, List, Dict, Any
|
from typing import Optional, Union, List, Dict, Any
|
||||||
from open_webui.apps.webui.models.groups import Groups
|
from open_webui.apps.webui.models.groups import Groups
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
def get_permissions(
|
def get_permissions(
|
||||||
user_id: str,
|
user_id: str,
|
||||||
default_permissions: Dict[str, Any] = {},
|
default_permissions: Dict[str, Any],
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Get all permissions for a user by combining the permissions of all groups the user is a member of.
|
Get all permissions for a user by combining the permissions of all groups the user is a member of.
|
||||||
@ -29,7 +30,9 @@ def get_permissions(
|
|||||||
return permissions
|
return permissions
|
||||||
|
|
||||||
user_groups = Groups.get_groups_by_member_id(user_id)
|
user_groups = Groups.get_groups_by_member_id(user_id)
|
||||||
permissions = default_permissions.copy()
|
|
||||||
|
# deep copy default permissions to avoid modifying the original dict
|
||||||
|
permissions = json.loads(json.dumps(default_permissions))
|
||||||
|
|
||||||
for group in user_groups:
|
for group in user_groups:
|
||||||
group_permissions = group.permissions
|
group_permissions = group.permissions
|
||||||
|
@ -92,7 +92,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
const uploadFileHandler = async (file) => {
|
const uploadFileHandler = async (file) => {
|
||||||
if (!($user?.permissions?.chat?.file_upload ?? true)) {
|
if ($user?.role !== 'admin' && !($_user?.permissions?.chat?.file_upload ?? true)) {
|
||||||
toast.error($i18n.t('You do not have permission to upload files.'));
|
toast.error($i18n.t('You do not have permission to upload files.'));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user