完成角色删除和权限编辑

This commit is contained in:
mkg
2021-03-20 22:41:00 +08:00
parent 3dcdf8e1a3
commit 328458eda9
6 changed files with 74 additions and 32 deletions
+12 -8
View File
@@ -70,18 +70,22 @@ def get_power_by_id(id):
# 更新角色
def update_power(req_json):
id = req_json.get("roleId")
id = req_json.get("powerId")
data = {
"code": req_json.get("roleCode"),
"name": req_json.get("roleName"),
"sort": req_json.get("sort"),
"enable": req_json.get("enable"),
"details": req_json.get("details")
"icon": req_json.get("icon"),
"open_type": req_json.get("openType"),
"parent_id": req_json.get("parentId"),
"code": req_json.get("powerCode"),
"name": req_json.get("powerName"),
"type": req_json.get("powerType"),
"url": req_json.get("powerUrl"),
"sort": req_json.get("sort")
}
print(data)
role = Role.query.filter_by(id=id).update(data)
power = Power.query.filter_by(id=id).update(data)
db.session.commit()
return role
print(power)
return power
# 删除权限(目前没有判断父节点自动删除子节点)
+30 -8
View File
@@ -3,7 +3,7 @@ from marshmallow import fields
from sqlalchemy import and_
from applications.models import db
from applications.models.admin import Role, Power
from applications.models.admin import Role, Power, User
ma = Marshmallow()
@@ -77,13 +77,13 @@ def get_role_by_id(id):
# 更新角色
def update_role(req_json):
id =req_json.get("roleId")
data ={
"code":req_json.get("roleCode"),
"name":req_json.get("roleName"),
"sort":req_json.get("sort"),
"enable":req_json.get("enable"),
"details":req_json.get("details")
id = req_json.get("roleId")
data = {
"code": req_json.get("roleCode"),
"name": req_json.get("roleName"),
"sort": req_json.get("sort"),
"enable": req_json.get("enable"),
"details": req_json.get("details")
}
print(data)
role = Role.query.filter_by(id=id).update(data)
@@ -124,3 +124,25 @@ def update_role_power(id, power_list):
for p in powers:
role.power.append(p)
db.session.commit()
# 删除角色
def remove_role(id):
role = Role.query.filter_by(id=id).first()
# 删除该角色的权限
power_id_list = []
for p in role.power:
power_id_list.append(p.id)
powers = Power.query.filter(Power.id.in_(power_id_list)).all()
for p in powers:
role.power.remove(p)
user_id_list = []
for u in role.user:
user_id_list.append(u.id)
users = User.query.filter(User.id.in_(user_id_list)).all()
for u in users:
role.user.remove(u)
r = Role.query.filter_by(id=id).delete()
db.session.commit()
return r