Files
pear-admin-flask/applications/view/roles/_utils.py
T
2021-07-02 04:39:57 +08:00

31 lines
792 B
Python

from applications.extensions import db
from applications.models import Power, Role, User
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
def batch_remove_role(ids):
""" 批量删除 """
for _id in ids:
remove_role(_id)