fix: 添加角色增加菜单id”

This commit is contained in:
zy7y
2022-09-16 11:52:08 +08:00
parent 65f1d7d2bc
commit 7ba3f23684
20 changed files with 106 additions and 49 deletions

View File

@@ -25,7 +25,11 @@ async def get_menus(skip: int, limit: int, kwargs: dict = None):
else:
kwargs = {}
result = MenuModel.filter(status__not=9, **kwargs).all().order_by("-created")
return await result.offset(skip).limit(limit), await result.count()
return await result.offset(skip).limit(limit)
async def get_tree_menu():
return await MenuModel.filter(status__not=9).all().values()
async def get_menu(kwargs):

View File

@@ -1,6 +1,6 @@
from tortoise import connections
from models import RoleModel
from models import MenuModel, RoleMenuModel, RoleModel
from schemas.role import RoleIn
@@ -20,7 +20,16 @@ async def get_role_menus(rid: int):
async def new_role(role: RoleIn):
"""新增角色"""
return await RoleModel.create(**role.dict())
# 校验菜单是否存在
if not all([await MenuModel.filter(id=mid).first() for mid in role.menus]):
return False
obj = await RoleModel.create(name=role.name, remark=role.remark)
# 写入菜单
await RoleMenuModel.bulk_create(
[RoleMenuModel(rid=obj.id, mid=mid) for mid in role.menus]
)
return obj
async def get_roles(skip: int, limit: int, kwargs: dict = None):

View File

@@ -32,19 +32,9 @@ async def get_user_info(user: UserModel):
[user.id],
)
# 当前激活角色的按钮权限列表
perm_result = await db.execute_query_dict(
"""
select m.identifier from sys_role_menu as rm, sys_menu as m where rm.mid = m.id and rm.rid = (?) and
m.identifier not null and m.identifier != "" and rm.status != 9
""",
[sql_result[0]["id"]],
)
return {
**jsonable_encoder(user),
"roles": sql_result,
"permissions": [i["identifier"] for i in perm_result],
}
@@ -64,7 +54,6 @@ async def get_users(skip: int, limit: int, kwargs: dict = None):
else:
kwargs = {}
result = UserModel.filter(**kwargs).all().order_by("-created")
print(await result.offset(skip).limit(limit))
return await result.offset(skip).limit(limit), await result.count()