完成角色删除和权限编辑
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
# 删除权限(目前没有判断父节点自动删除子节点)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
from flask import Blueprint, render_template, request, jsonify
|
||||
from flask_login import login_required
|
||||
from applications.service.admin.power import get_power_dict, select_parent, save_power, remove_power, get_power_by_id
|
||||
from applications.service.admin.power import get_power_dict, select_parent, save_power, remove_power, get_power_by_id, \
|
||||
update_power
|
||||
|
||||
|
||||
admin_power = Blueprint('adminPower', __name__, url_prefix='/admin/power')
|
||||
|
||||
@@ -53,17 +55,23 @@ def remove(id):
|
||||
else:
|
||||
return jsonify(success=False, msg="删除失败")
|
||||
|
||||
|
||||
# 权限编辑
|
||||
@admin_power.route('/edit/<int:id>', methods=['GET', 'POST'])
|
||||
def edit(id):
|
||||
power = get_power_by_id(id)
|
||||
return render_template('admin/power/edit.html',power=power)
|
||||
icon = str(power.icon).split()
|
||||
if len(icon) == 2:
|
||||
icon = icon[1]
|
||||
else:
|
||||
icon = None
|
||||
return render_template('admin/power/edit.html', power=power, icon=icon)
|
||||
|
||||
|
||||
# 权限更新
|
||||
@admin_power.route('/update', methods=['PUT'])
|
||||
def update():
|
||||
res = update_role(request.json)
|
||||
res = update_power(request.json)
|
||||
if not res:
|
||||
return jsonify(success=False, msg="更新角色失败")
|
||||
return jsonify(success=True, msg="更新角色成功")
|
||||
|
||||
@@ -2,7 +2,7 @@ from flask import Blueprint, render_template, request, jsonify
|
||||
from flask_login import login_required
|
||||
|
||||
from applications.service.admin.role import get_role_data_dict, add_role, get_role_power, update_role_power, \
|
||||
get_role_by_id, update_role
|
||||
get_role_by_id, update_role, remove_role
|
||||
|
||||
admin_role = Blueprint('adminRole', __name__, url_prefix='/admin/role')
|
||||
|
||||
@@ -98,6 +98,14 @@ def update():
|
||||
return jsonify(success=False, msg="更新角色失败")
|
||||
return jsonify(success=True, msg="更新角色成功")
|
||||
|
||||
|
||||
@admin_role.route('/remove/<int:id>', methods=['DELETE'])
|
||||
def remove(id):
|
||||
res = remove_role(id)
|
||||
if not res:
|
||||
return jsonify(success=False, msg="角色删除失败")
|
||||
return jsonify(success=True, msg="角色删除成功")
|
||||
|
||||
# 批量删除
|
||||
# @admin_user.route('/batchRemove', methods=['GET', 'POST'])
|
||||
# @login_required
|
||||
|
||||
Reference in New Issue
Block a user