|
|
@@ -332,8 +332,8 @@ async def get_user_permission(db, user_id):
|
|
|
knowledge_dict = {}
|
|
|
user = db.query(UserModel).filter_by(id=user_id).first()
|
|
|
parent_id = ""
|
|
|
- # print(111111111111111)
|
|
|
- async def role_resource(role_set, permissions, roles):
|
|
|
+
|
|
|
+ async def role_resource_type(role_set, permissions, roles, type):
|
|
|
nonlocal parent_id
|
|
|
for role in roles:
|
|
|
if role.id not in role_set:
|
|
|
@@ -341,20 +341,19 @@ async def get_user_permission(db, user_id):
|
|
|
|
|
|
for r in role.resources:
|
|
|
if r.resource_type_id != "1":
|
|
|
- # if not r.resource_id:
|
|
|
- # parent_id = r.id
|
|
|
- # continue
|
|
|
- permissions[r.id] = r.to_router_dict()
|
|
|
+ permission_dict = r.to_router_dict()
|
|
|
+ permission_dict["type"] = type
|
|
|
+ permissions[r.id] = permission_dict
|
|
|
|
|
|
- await role_resource(role_set, permissions, user.roles)
|
|
|
+ await role_resource_type(role_set, permissions, user.roles, "user")
|
|
|
for ogt in user.organizations:
|
|
|
if ogt.roles:
|
|
|
- await role_resource(role_set, permissions, ogt.roles)
|
|
|
+ await role_resource_type(role_set, permissions, ogt.roles, "org")
|
|
|
parent_ogt = ogt.parent
|
|
|
while parent_ogt:
|
|
|
|
|
|
if parent_ogt.id not in dept_set:
|
|
|
- await role_resource(role_set, permissions, parent_ogt.roles)
|
|
|
+ await role_resource_type(role_set, permissions, parent_ogt.roles, "org")
|
|
|
dept_set.add(parent_ogt.id)
|
|
|
|
|
|
parent_ogt = parent_ogt.parent
|
|
|
@@ -385,7 +384,7 @@ async def get_user_permission(db, user_id):
|
|
|
async def get_user_dept(db, user_id):
|
|
|
res = {}
|
|
|
user = db.query(UserModel).filter_by(id=user_id).first()
|
|
|
- res["rows"] = [i.to_dict() for i in user.organizations]
|
|
|
+ res["rows"] = [i.to_dict() for i in user.organizations if i.status == DEPT_STATUS_ON]
|
|
|
return res
|
|
|
|
|
|
|