index.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from ..base import base
  2. from flask import render_template
  3. from flask_login import login_user, logout_user, login_required, \
  4. current_user
  5. from flask import g, jsonify
  6. from ..models import Resource, Organization, ResourceType
  7. from sqlalchemy import text
  8. def setAccessable(resource, permitedIDList):
  9. if resource.ID not in permitedIDList:
  10. resource.HIDDEN = True
  11. for child in resource.children:
  12. setAccessable(child, permitedIDList)
  13. @base.route('/getRouters')
  14. @login_required
  15. def getRouters():
  16. resources = []
  17. resources += [res for org in current_user.organizations for res in org.resources if org.resources]
  18. resources += [res for role in current_user.roles for res in role.resources if role.resources]
  19. ids = [res.ID for res in resources]
  20. #allResources = Resource.query.filter(
  21. # text("FIND_IN_SET(ID, :ids) > 0")).params(ids = ','.join(ids)) .all()
  22. allResources = Resource.query.join(ResourceType, Resource.type).filter(
  23. Resource.SYRESOURCE_ID == None).all()
  24. # filter resource not allowed
  25. for res in allResources:
  26. setAccessable(res, ids)
  27. json = [res.to_router_json() for res in allResources]
  28. return jsonify({'msg': '操作成功', 'code': 200, "data": json})
  29. # return jsonify({'msg': '操作成功', 'code': 200, "data":[{"name":"System","path":"/system","hidden":False,"redirect":"noRedirect","component":"Layout","alwaysShow":True,"meta":{"title":"系统管理","icon":"system","noCache":False,"link":''},"children":[{"name":"User","path":"user","hidden":False,"component":"system/user/index","meta":{"title":"用户管理","icon":"user","noCache":False,"link":''}},{"name":"Role","path":"role","hidden":False,"component":"system/role/index","meta":{"title":"角色管理","icon":"peoples","noCache":False,"link":''}},{"name":"Menu","path":"menu","hidden":False,"component":"system/menu/index","meta":{"title":"菜单管理","icon":"tree-table","noCache":False,"link":''}},{"name":"Dept","path":"dept","hidden":False,"component":"system/dept/index","meta":{"title":"部门管理","icon":"tree","noCache":False,"link":''}},{"name":"Log","path":"log","hidden":False,"redirect":"noRedirect","component":"ParentView","alwaysShow":True,"meta":{"title":"日志管理","icon":"log","noCache":False,"link":''},"children":[{"name":"Operlog","path":"operlog","hidden":False,"component":"monitor/operlog/index","meta":{"title":"操作日志","icon":"form","noCache":False,"link":''}},{"name":"Logininfor","path":"logininfor","hidden":False,"component":"monitor/logininfor/index","meta":{"title":"登录日志","icon":"logininfor","noCache":False,"link":''}}]}]}]})