organization.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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
  8. import json
  9. from .. import db
  10. from flask import render_template
  11. from datetime import datetime
  12. import uuid
  13. @base.route('/securityJsp/base/Syorganization.jsp', methods=['GET'])
  14. def index_organization():
  15. return render_template('organization/index.html')
  16. @base.route('/securityJsp/base/SyorganizationForm.jsp', methods=['GET'])
  17. def form_organization():
  18. return render_template('organization/form.html', id=request.args.get('id', ''))
  19. @base.route('/securityJsp/base/SyorganizationGrant.jsp', methods=['GET'])
  20. def grant_organization_resource_page():
  21. return render_template('organization/grant.html', id=request.args.get('id', ''))
  22. @base.route('/base/syorganization!grant.action', methods=['POST'])
  23. def grant_organization_resource():
  24. id = request.form.get('id')
  25. ids = request.form.get('ids')
  26. org = Organization.query.get(id)
  27. if not ids:
  28. org.resources = []
  29. else:
  30. idList = ids.split(',')
  31. org.resources = [Resource.query.get(rid) for rid in idList]
  32. db.session.add(org)
  33. return jsonify({'success': True})
  34. @base.route('/base/syorganization!treeGrid.action', methods=['POST'])
  35. def syorganization_treeGrid():
  36. orgs = Organization.query.all()
  37. return jsonify([org.to_json() for org in orgs])
  38. @base.route('/base/syorganization!doNotNeedSecurity_comboTree.action', methods=['POST'])
  39. def syorganization_comboTree():
  40. orgs = Organization.query.all()
  41. return jsonify([org.to_json() for org in orgs])
  42. @base.route('/base/syorganization!doNotNeedSecurity_getSyorganizationsTree.action', methods=['POST'])
  43. def get_syorganizations_tree():
  44. orgs = Organization.query.join(User, Organization.users).filter(User.ID == current_user.ID).all()
  45. return jsonify([org.to_json() for org in orgs])
  46. @base.route('/base/syorganization!doNotNeedSecurity_getSyorganizationByUserId.action', methods=['POST'])
  47. def get_syorganization_by_userId():
  48. orgs = Organization.query.join(User, Organization.users).filter(User.ID == request.form.get('id')).all()
  49. return jsonify([org.to_json() for org in orgs])
  50. @base.route('/base/syorganization!getById.action', methods=['POST'])
  51. def syorganization_getById():
  52. org = Organization.query.get(request.form.get('id'))
  53. if org:
  54. return jsonify(org.to_json())
  55. else:
  56. return jsonify({'success': False, 'msg': 'error'})
  57. @base.route('/base/syorganization!update.action', methods=['POST'])
  58. def syorganization_update():
  59. org = Organization.query.get(request.form.get('data.id'))
  60. org.UPDATEDATETIME = datetime.now()
  61. org.NAME = request.form.get('data.name')
  62. org.ADDRESS = request.form.get('data.address')
  63. org.CODE = request.form.get('data.code')
  64. org.ICONCLS = request.form.get('data.iconCls')
  65. org.SEQ = request.form.get('data.seq')
  66. org.parent = Organization.query.get(request.form.get('data.syorganization.id'))
  67. db.session.add(org)
  68. return jsonify({'success': True})
  69. @base.route('/base/syorganization!save.action', methods=['POST'])
  70. def syorganization_save():
  71. org = Organization()
  72. org.ID = uuid.uuid4()
  73. org.NAME = request.form.get('data.name')
  74. org.ADDRESS = request.form.get('data.address')
  75. org.CODE = request.form.get('data.code')
  76. org.ICONCLS = request.form.get('data.iconCls')
  77. org.SEQ = request.form.get('data.seq')
  78. org.parent = Organization.query.get(request.form.get('data.syorganization.id'))
  79. # add organization to current user
  80. current_user.organizations.append(org)
  81. db.session.add(org)
  82. return jsonify({'success': True})
  83. @base.route('/base/syorganization!delete.action', methods=['POST'])
  84. def syorganization_delete():
  85. org = Organization.query.get(request.form.get('id'))
  86. if org:
  87. db.session.delete(org)
  88. return jsonify({'success': True})