organization.py 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. from ..base import base
  2. from ..models import Resource
  3. from ..models import Role
  4. from ..models import User
  5. from ..models import Organization
  6. from flask import g, jsonify, request
  7. from flask_login import current_user, login_required
  8. import json
  9. from .. import db
  10. from flask import render_template
  11. from datetime import datetime
  12. import uuid
  13. from .. import permission
  14. @base.route('/system/dept/list', methods=['GET'])
  15. @login_required
  16. @permission('system:dept:list')
  17. def syorganization_treeGrid():
  18. filters = []
  19. if 'deptName' in request.args:
  20. filters.append(Organization.NAME.like('%' + request.args['deptName'] + '%'))
  21. orgs = Organization.query.filter(*filters)
  22. return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
  23. @base.route('/system/dept/treeselect', methods=['GET'])
  24. @login_required
  25. def syorganization_tree_select():
  26. orgs = Organization.query.filter(Organization.SYORGANIZATION_ID == None)
  27. return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_tree_select_json() for org in orgs]})
  28. @base.route('/system/dept/list/exclude/<id>', methods=['GET'])
  29. @login_required
  30. def syorganization_dept_list_exclude(id):
  31. orgs = Organization.query.filter(Organization.ID != id)
  32. return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
  33. @base.route('/system/dept/<string:id>', methods=['GET'])
  34. @login_required
  35. @permission('system:dept:query')
  36. def syorganization_getById(id):
  37. org = Organization.query.get(id)
  38. if org:
  39. return jsonify({'msg': '操作成功', 'code': 200, 'data': org.to_json()})
  40. else:
  41. return jsonify({'success': False, 'msg': 'error'})
  42. @base.route('/system/dept', methods=['PUT'])
  43. @login_required
  44. @permission('system:dept:edit')
  45. def syorganization_update():
  46. org = Organization.query.get(request.json['deptId'])
  47. org.UPDATEDATETIME = datetime.now()
  48. if 'deptName' in request.json: org.NAME = request.json['deptName']
  49. if 'email' in request.json: org.EMAIL = request.json['email']
  50. if 'leader' in request.json: org.LEADER = request.json['leader']
  51. if 'phone' in request.json: org.PHONE = request.json['phone']
  52. if 'orderNum' in request.json: org.SEQ = request.json['orderNum']
  53. if 'parentId' in request.json: org.parent = Organization.query.get(request.json['parentId'])
  54. if 'status' in request.json: org.STATUS = request.json['status']
  55. db.session.add(org)
  56. return jsonify({'code': 200, 'msg': '操作成功'})
  57. @base.route('/system/dept', methods=['POST'])
  58. @login_required
  59. @permission('system:dept:add')
  60. def syorganization_save():
  61. org = Organization()
  62. org.ID = str(uuid.uuid4())
  63. if 'deptName' in request.json: org.NAME = request.json['deptName']
  64. if 'email' in request.json: org.EMAIL = request.json['email']
  65. if 'leader' in request.json: org.LEADER = request.json['leader']
  66. if 'phone' in request.json: org.PHONE = request.json['phone']
  67. if 'orderNum' in request.json: org.SEQ = request.json['orderNum']
  68. if 'parentId' in request.json: org.parent = Organization.query.get(request.json['parentId'])
  69. if 'status' in request.json: org.STATUS = request.json['status']
  70. # add organization to current user
  71. current_user.organizations.append(org)
  72. db.session.add(org)
  73. return jsonify({'code': 200, 'msg': '操作成功'})