mirror of
https://github.com/open-webui/open-webui
synced 2024-11-25 13:29:53 +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 open_webui.apps.webui.models.groups import Groups
|
||||
import json
|
||||
|
||||
|
||||
def get_permissions(
|
||||
user_id: str,
|
||||
default_permissions: Dict[str, Any] = {},
|
||||
default_permissions: 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.
|
||||
@ -29,7 +30,9 @@ def get_permissions(
|
||||
return permissions
|
||||
|
||||
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:
|
||||
group_permissions = group.permissions
|
||||
|
@ -92,7 +92,7 @@
|
||||
};
|
||||
|
||||
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.'));
|
||||
return null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user