Commit 72478106 authored by confusion's avatar confusion

添加翻译3

parent 9429285c
...@@ -9,8 +9,8 @@ from model import BaseResponse, Response ...@@ -9,8 +9,8 @@ from model import BaseResponse, Response
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from schema.permission import CreateUserInfo, AllUsers, DeleteUserInfo, UpdateRolePermission from schema.permission import CreateUserInfo, AllUsers, DeleteUserInfo, UpdateRolePermission
from service.permission import check_permission, find_user_permission, build_permission_tree, \ from service.permission import check_permission, find_user_permission, list_permission_tree, \
find_all_sys_permission, find_all_roles find_all_sys_permission, find_all_roles, remove_label
from tools.jwt_tools import User from tools.jwt_tools import User
router = APIRouter() router = APIRouter()
...@@ -89,7 +89,7 @@ async def query_account_permission( ...@@ -89,7 +89,7 @@ async def query_account_permission(
permission_role_collect=permission_role_collect) permission_role_collect=permission_role_collect)
role_db_data = await permission_role_collect.find({'fund_id': fund_id, "name": {"$in": roles}}).to_list(length=None) role_db_data = await permission_role_collect.find({'fund_id': fund_id, "name": {"$in": roles}}).to_list(length=None)
result_role_data = [{"name": item["name"], "label": item[label]} for item in role_db_data] result_role_data = [{"name": item["name"], "label": item[label]} for item in role_db_data]
permissions_tree = build_permission_tree(permissions, label) permissions_tree = list_permission_tree(permissions, label)
return Response(data={'permission': permissions_tree, "roles": result_role_data}) return Response(data={'permission': permissions_tree, "roles": result_role_data})
...@@ -118,10 +118,11 @@ async def query_fund_id_permission( ...@@ -118,10 +118,11 @@ async def query_fund_id_permission(
permissions_tree = await find_all_sys_permission(fund_id=fund_id, all_permission_collect=all_permission_collect) permissions_tree = await find_all_sys_permission(fund_id=fund_id, all_permission_collect=all_permission_collect)
label = lang_to_label(lang) label = lang_to_label(lang)
return Response(data={'permission': build_permission_tree(permissions_tree['data'], label), return Response(
'roles': {item['name']: {"label": item[label], "remark": item["remark"], data={'permission': remove_label(permissions_tree['data'], label),
"permissions": build_permission_tree(item["permissions"], label)} for item 'roles': {item['name']: {"label": item[label], "remark": item["remark"],
in roles_data}}) "permissions": list_permission_tree(item["permissions"], label)} for item
in roles_data}})
@router.get('/fund_users/', @router.get('/fund_users/',
......
...@@ -388,22 +388,37 @@ async def find_user_permission(fund_id, email, permission_user_collect, permissi ...@@ -388,22 +388,37 @@ async def find_user_permission(fund_id, email, permission_user_collect, permissi
return permission_list, this_fund_role['roles'] return permission_list, this_fund_role['roles']
def build_permission_tree(permission_list, label): def list_permission_tree(permission_list, label_lang):
final = { final = {}
"data_permission": {"label": "数据管理权限" if label == 'label' else 'Data management authority', "children": {}}, for item in permission_list:
"member_permission": {"label": "人员管理权限" if label == 'label' else 'Personnel Management Authority', "children": {}} parts = item.split('.')
} if len(parts) == 1:
for permission in permission_list: final[item] = {'label': label_map[item][label_lang], 'children': {}}
parts = permission.split('.') elif len(parts) == 2:
final[parts[0]]['children'].setdefault(f'{parts[0]}.{parts[1]}', final.setdefault(parts[0], {'label': label_map[parts[0]][label_lang], 'children': {}})
{'label': label_map[f'{parts[0]}.{parts[1]}'][label], final[parts[0]]['children'][item] = {'label': label_map[item][label_lang], 'children': {}}
'children': {}}) elif len(parts) == 3:
final[parts[0]]['children'][f'{parts[0]}.{parts[1]}']['children'][permission] = { final.setdefault(parts[0], {'label': label_map[parts[0]][label_lang], 'children': {}})
'label': label_map[permission][label]} final[parts[0]]['children'].setdefault(f'{parts[0]}.{parts[1]}',
{'label': label_map[f'{parts[0]}.{parts[1]}'][label_lang],
'children': {}})
final[parts[0]]['children'][f'{parts[0]}.{parts[1]}']['children'][item] = {
'label': label_map[item][label_lang]}
else:
raise Exception(item)
return final return final
def remove_label(data, label):
for k, item in data.items():
item['label'] = item[label]
del item['en_label']
if 'children' in item:
item['children'] = remove_label(item['children'], label)
return data
if __name__ == '__main__': if __name__ == '__main__':
print(json.dumps(build_permission_tree(all_permission_list))) print(json.dumps(list_permission_tree(all_permission_list)))
# print(make_permission_tree_and_label_map()) # print(make_permission_tree_and_label_map())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment