浏览代码

user auth role

zisokal 3 年之前
父节点
当前提交
321a101959
共有 3 个文件被更改,包括 27 次插入6 次删除
  1. 7 1
      app/models/Role.py
  2. 3 0
      app/models/User.py
  3. 17 5
      app/routes/user.py

+ 7 - 1
app/models/Role.py

@@ -34,7 +34,7 @@ class Role(db.Model, UserMixin):
              %(self.NAME, self.DESCRIPTION, self.ICONCLS, self.SEQ)
              %(self.NAME, self.DESCRIPTION, self.ICONCLS, self.SEQ)
 
 
     def to_json(self):
     def to_json(self):
-        return {
+        json = {
             'roleId': self.ID,
             'roleId': self.ID,
             'createTime': self.CREATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
             'createTime': self.CREATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
             'updateTime': self.UPDATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
             'updateTime': self.UPDATEDATETIME.strftime('%Y-%m-%d %H:%M:%S'),
@@ -44,3 +44,9 @@ class Role(db.Model, UserMixin):
             'roleSort': self.SEQ,
             'roleSort': self.SEQ,
             'status': '0'
             'status': '0'
         }
         }
+
+        
+        if hasattr(self, 'flag'):
+            json['flag'] = self.flag
+
+        return json

+ 3 - 0
app/models/User.py

@@ -74,4 +74,7 @@ class User(db.Model, UserMixin):
             json['dept']  = self.organizations[0].to_json()
             json['dept']  = self.organizations[0].to_json()
             json['deptId'] = self.organizations[0].ID
             json['deptId'] = self.organizations[0].ID
 
 
+        if len(self.roles.all()) > 0:
+            json['roles'] = [role.to_json() for role in self.roles.all()]
+
         return json         
         return json         

+ 17 - 5
app/routes/user.py

@@ -9,7 +9,7 @@ from flask_login import login_user, logout_user, login_required, \
 from datetime import datetime
 from datetime import datetime
 from .. import  db
 from .. import  db
 import uuid
 import uuid
-from sqlalchemy import asc
+from sqlalchemy import asc, true
 from sqlalchemy import desc
 from sqlalchemy import desc
 import flask_excel as excel
 import flask_excel as excel
 
 
@@ -46,10 +46,10 @@ def grant_user_organization():
 
 
     return jsonify({'success': True})
     return jsonify({'success': True})
 
 
-@base.route('/base/syuser!grantRole.action', methods=['POST'])
+@base.route('/system/user/authRole', methods=['PUT'])
 def grant_user_role():
 def grant_user_role():
-    id = request.form.get('id')
-    ids = request.form.get('ids')
+    id = request.args['userId']
+    ids = request.args['roleIds']
 
 
     user = User.query.get(id)
     user = User.query.get(id)
 
 
@@ -61,7 +61,7 @@ def grant_user_role():
 
 
     db.session.add(user)
     db.session.add(user)
 
 
-    return jsonify({'success': True})
+    return jsonify({'code': 200, 'msg': '操作成功'})
 
 
 def record_login_history(type):
 def record_login_history(type):
     online = OnLine()
     online = OnLine()
@@ -241,6 +241,18 @@ def syuser_info():
         'roles': [role.NAME for role in current_user.roles], 'permissions': resourceTree})
         'roles': [role.NAME for role in current_user.roles], 'permissions': resourceTree})
 
 
 
 
+@base.route('/system/user/authRole/<id>', methods=['GET'])
+def syuser_auth_role(id):
+    user = User.query.get(id)
+    userRoles = [role for role in user.roles]
+    allRoles = Role.query.all()
+    for allRole in allRoles:
+        for userRole in userRoles:
+            if userRole.ID == allRole.ID:
+                allRole.flag = True
+
+    return jsonify({'code': 200, 'msg': '操作成功', 'roles': [role.to_json() for role in allRoles], 'user': user.to_json()})
+
 @base.route('/base/syuser!export.action', methods=['POST'])
 @base.route('/base/syuser!export.action', methods=['POST'])
 def user_export():
 def user_export():
     rows = []
     rows = []