Commit 72478106 authored by confusion's avatar confusion

添加翻译3

parent 9429285c
......@@ -9,8 +9,8 @@ from model import BaseResponse, Response
from fastapi import APIRouter, Depends
from schema.permission import CreateUserInfo, AllUsers, DeleteUserInfo, UpdateRolePermission
from service.permission import check_permission, find_user_permission, build_permission_tree, \
find_all_sys_permission, find_all_roles
from service.permission import check_permission, find_user_permission, list_permission_tree, \
find_all_sys_permission, find_all_roles, remove_label
from tools.jwt_tools import User
router = APIRouter()
......@@ -89,7 +89,7 @@ async def query_account_permission(
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)
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})
......@@ -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)
label = lang_to_label(lang)
return Response(data={'permission': build_permission_tree(permissions_tree['data'], label),
'roles': {item['name']: {"label": item[label], "remark": item["remark"],
"permissions": build_permission_tree(item["permissions"], label)} for item
in roles_data}})
return Response(
data={'permission': remove_label(permissions_tree['data'], label),
'roles': {item['name']: {"label": item[label], "remark": item["remark"],
"permissions": list_permission_tree(item["permissions"], label)} for item
in roles_data}})
@router.get('/fund_users/',
......
......@@ -388,22 +388,37 @@ async def find_user_permission(fund_id, email, permission_user_collect, permissi
return permission_list, this_fund_role['roles']
def build_permission_tree(permission_list, label):
final = {
"data_permission": {"label": "数据管理权限" if label == 'label' else 'Data management authority', "children": {}},
"member_permission": {"label": "人员管理权限" if label == 'label' else 'Personnel Management Authority', "children": {}}
}
for permission in permission_list:
parts = permission.split('.')
final[parts[0]]['children'].setdefault(f'{parts[0]}.{parts[1]}',
{'label': label_map[f'{parts[0]}.{parts[1]}'][label],
'children': {}})
final[parts[0]]['children'][f'{parts[0]}.{parts[1]}']['children'][permission] = {
'label': label_map[permission][label]}
def list_permission_tree(permission_list, label_lang):
final = {}
for item in permission_list:
parts = item.split('.')
if len(parts) == 1:
final[item] = {'label': label_map[item][label_lang], 'children': {}}
elif len(parts) == 2:
final.setdefault(parts[0], {'label': label_map[parts[0]][label_lang], 'children': {}})
final[parts[0]]['children'][item] = {'label': label_map[item][label_lang], 'children': {}}
elif len(parts) == 3:
final.setdefault(parts[0], {'label': label_map[parts[0]][label_lang], 'children': {}})
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
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__':
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())
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