update applications/view/admin/role.py.
This commit is contained in:
@@ -183,20 +183,10 @@ def dis_enable():
|
|||||||
@authorize("admin:role:remove", log=True)
|
@authorize("admin:role:remove", log=True)
|
||||||
def remove(id):
|
def remove(id):
|
||||||
role = Role.query.filter_by(id=id).first()
|
role = Role.query.filter_by(id=id).first()
|
||||||
# 删除该角色的权限
|
# 删除该角色的权限和用户
|
||||||
power_id_list = []
|
role.power = []
|
||||||
for p in role.power:
|
role.user = []
|
||||||
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()
|
r = Role.query.filter_by(id=id).delete()
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
if not r:
|
if not r:
|
||||||
@@ -212,20 +202,10 @@ def batch_remove():
|
|||||||
ids = request.form.getlist('ids[]')
|
ids = request.form.getlist('ids[]')
|
||||||
for id in ids:
|
for id in ids:
|
||||||
role = Role.query.filter_by(id=id).first()
|
role = Role.query.filter_by(id=id).first()
|
||||||
# 删除该角色的权限
|
# 删除该角色的权限和用户
|
||||||
power_id_list = []
|
role.power = []
|
||||||
for p in role.power:
|
role.user = []
|
||||||
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()
|
r = Role.query.filter_by(id=id).delete()
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return success_api(msg="批量删除成功")
|
return success_api(msg="批量删除成功")
|
||||||
|
|||||||
Reference in New Issue
Block a user