123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- # coding:utf-8
- from ..base import base
- from ..models import Role, Resource, User
- from flask import render_template, request
- from flask_login import current_user
- from flask import jsonify
- from datetime import datetime
- from .. import db
- import uuid
- @base.route('/securityJsp/base/Syrole.jsp', methods=['GET'])
- def index_role():
- return render_template('role/index.html')
- @base.route('/securityJsp/base/SyroleForm.jsp', methods=['GET'])
- def form_role():
- return render_template('role/form.html', id=request.args.get('id', ''))
- @base.route('/securityJsp/base/SyroleGrant.jsp', methods=['GET'])
- def grant_role_page():
- return render_template('role/grant.html', id=request.args.get('id', ''))
- @base.route('/base/syrole!doNotNeedSecurity_getRolesTree.action', methods=['POST'])
- def get_roles_tree():
- roles = Role.query.join(User, Role.users).filter(User.ID == current_user.ID).all()
- return jsonify([role.to_json() for role in roles])
- @base.route('/base/syrole!doNotNeedSecurity_getRoleByUserId.action', methods=['POST'])
- def get_roles_by_userId():
- roles = Role.query.join(User, Role.users).filter(User.ID == request.form.get('id')).all()
- return jsonify([role.to_json() for role in roles])
- @base.route('/base/syrole!grant.action', methods=['POST'])
- def grant_role():
- id = request.form.get('id')
- ids = request.form.get('ids')
- role = Role.query.get(id)
- if not ids: #授权资源为空
- role.resources = []
- else: #授权资源访问,资源之间以逗号分割
- idList = ids.split(',')
- role.resources = [Resource.query.get(rid) for rid in idList]
- db.session.add(role)
- return jsonify({'success': True})
- @base.route('/base/syrole!grid.action', methods=['POST'])
- def grid():
- page = request.form.get('page', 1, type=int)
- rows = request.form.get('rows', 10, type=int)
- pagination = current_user.roles.paginate(
- page, per_page=rows, error_out=False)
- roles = pagination.items
- return jsonify([role.to_json() for role in roles])
- @base.route('/base/syrole!getById.action', methods=['POST'])
- def syrole_getById():
- role = Role.query.get(request.form.get('id'))
- if role:
- return jsonify(role.to_json())
- else:
- return jsonify({'success': False, 'msg': 'error'})
- @base.route('/base/syrole!update.action', methods=['POST'])
- def syrole_update():
- role = Role.query.get(request.form.get('data.id'))
- role.UPDATEDATETIME = datetime.now()
- role.NAME = request.form.get('data.name')
- role.DESCRIPTION = request.form.get('data.description')
- role.SEQ = request.form.get('data.seq')
- db.session.add(role)
- return jsonify({'success': True})
- @base.route('/base/syrole!save.action', methods=['POST'])
- def syrole_save():
- role = Role()
- role.ID = uuid.uuid4()
- role.NAME = request.form.get('data.name')
- role.DESCRIPTION = request.form.get('data.description')
- role.SEQ = request.form.get('data.seq')
- # add current use to new role
- current_user.roles.append(role)
- db.session.add(role)
- return jsonify({'success': True})
- @base.route('/base/syrole!delete.action', methods=['POST'])
- def syrole_delete():
- role = Role.query.get(request.form.get('id'))
- if role:
- db.session.delete(role)
- return jsonify({'success': True})
|