rbac基本完成

This commit is contained in:
mkg
2021-03-22 20:42:02 +08:00
parent 328458eda9
commit 4c8917fe05
17 changed files with 777 additions and 268 deletions
+21 -11
View File
@@ -2,21 +2,22 @@ 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, remove_role
get_role_by_id, update_role, remove_role, batch_remove
from applications.service.route_auth import authorize_and_log
admin_role = Blueprint('adminRole', __name__, url_prefix='/admin/role')
# 用户管理
@admin_role.route('/')
@login_required
def index():
@authorize_and_log("admin:role:main")
def main():
return render_template('admin/role/main.html')
# 表格数据
@admin_role.route('/data')
@login_required
@authorize_and_log("admin:role:main")
def table():
page = request.args.get('page', type=int)
limit = request.args.get('limit', type=int)
@@ -41,6 +42,7 @@ def table():
# 角色增加
@admin_role.route('/add')
@authorize_and_log("admin:role:add")
@login_required
def add():
return render_template('admin/role/add.html')
@@ -48,7 +50,7 @@ def add():
# 角色增加
@admin_role.route('/save', methods=['POST'])
@login_required
@authorize_and_log("admin:role:add")
def save():
req = request.json
add_role(req=req)
@@ -57,12 +59,14 @@ def save():
# 角色授权
@admin_role.route('/power/<int:id>')
@authorize_and_log("admin:role:power")
def power(id):
return render_template('admin/role/power.html', id=id)
# 获取角色权限
@admin_role.route('/getRolePower/<int:id>')
@authorize_and_log("admin:role:main")
def getRolePower(id):
powers = get_role_power(id)
res = {
@@ -74,6 +78,7 @@ def getRolePower(id):
# 保存角色权限
@admin_role.route('/saveRolePower', methods=['PUT'])
@authorize_and_log("admin:role:edit")
def saveRolePower():
req_form = request.form
powerIds = req_form.get("powerIds")
@@ -85,6 +90,7 @@ def saveRolePower():
# 角色编辑
@admin_role.route('/edit/<int:id>', methods=['GET', 'POST'])
@authorize_and_log("admin:role:edit")
def edit(id):
role = get_role_by_id(id)
return render_template('admin/role/edit.html', role=role)
@@ -92,6 +98,7 @@ def edit(id):
# 更新角色
@admin_role.route('/update', methods=['PUT'])
@authorize_and_log("admin:role:edit")
def update():
res = update_role(request.json)
if not res:
@@ -100,16 +107,19 @@ def update():
@admin_role.route('/remove/<int:id>', methods=['DELETE'])
@authorize_and_log("admin:role:remove")
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
# def batchRemove():
# ids = request.form.getlist('ids[]')
# res = batch_remove(ids)
# return res
@admin_role.route('/batchRemove', methods=['DELETE'])
@authorize_and_log("admin:role:remove")
@login_required
def batchRemove():
ids = request.form.getlist('ids[]')
batch_remove(ids)
return jsonify(success=True,msg="批量删除成功")