from ..base import base from ..models import Resource from ..models import Role from ..models import User from ..models import Organization from flask import g, jsonify, request from flask_login import current_user, login_required import json from .. import db from flask import render_template from datetime import datetime import uuid @base.route('/securityJsp/base/Syorganization.jsp', methods=['GET']) def index_organization(): return render_template('organization/index.html') @base.route('/securityJsp/base/SyorganizationForm.jsp', methods=['GET']) def form_organization(): return render_template('organization/form.html', id=request.args.get('id', '')) @base.route('/securityJsp/base/SyorganizationGrant.jsp', methods=['GET']) def grant_organization_resource_page(): return render_template('organization/grant.html', id=request.args.get('id', '')) @base.route('/base/syorganization!grant.action', methods=['POST']) def grant_organization_resource(): id = request.form.get('id') ids = request.form.get('ids') org = Organization.query.get(id) if not ids: org.resources = [] else: idList = ids.split(',') org.resources = [Resource.query.get(rid) for rid in idList] db.session.add(org) return jsonify({'success': True}) @base.route('/system/dept/list', methods=['GET']) @login_required def syorganization_treeGrid(): orgs = Organization.query.all() return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]}) @base.route('/system/dept/list/exclude/', methods=['GET']) @login_required def syorganization_dept_list_exclude(id): orgs = Organization.query.filter(Organization.ID != id) return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]}) @base.route('/base/syorganization!doNotNeedSecurity_comboTree.action', methods=['POST']) def syorganization_comboTree(): orgs = Organization.query.all() return jsonify([org.to_json() for org in orgs]) @base.route('/base/syorganization!doNotNeedSecurity_getSyorganizationsTree.action', methods=['POST']) def get_syorganizations_tree(): orgs = Organization.query.join(User, Organization.users).filter(User.ID == current_user.ID).all() return jsonify([org.to_json() for org in orgs]) @base.route('/base/syorganization!doNotNeedSecurity_getSyorganizationByUserId.action', methods=['POST']) def get_syorganization_by_userId(): orgs = Organization.query.join(User, Organization.users).filter(User.ID == request.form.get('id')).all() return jsonify([org.to_json() for org in orgs]) @base.route('/system/dept/', methods=['GET']) def syorganization_getById(id): org = Organization.query.get(id) if org: return jsonify({'msg': '操作成功', 'code': 200, 'data': org.to_json()}) else: return jsonify({'success': False, 'msg': 'error'}) @base.route('/system/dept', methods=['PUT']) def syorganization_update(): org = Organization.query.get(request.json['deptId']) org.UPDATEDATETIME = datetime.now() org.NAME = request.json['deptName'] org.EMAIL = request.json['email'] org.LEADER = request.json['leader'] org.PHONE = request.json['phone'] org.SEQ = request.json['orderNum'] org.parent = Organization.query.get(request.json['parentId']) db.session.add(org) return jsonify({'success': True}) @base.route('/system/dept', methods=['POST']) def syorganization_save(): org = Organization() org.ID = str(uuid.uuid4()) org.NAME = request.json['deptName'] org.EMAIL = request.json['email'] org.LEADER = request.json['leader'] org.PHONE = request.json['phone'] org.SEQ = request.json['orderNum'] org.parent = Organization.query.get(request.json['parentId']) # add organization to current user current_user.organizations.append(org) db.session.add(org) return jsonify({'success': True}) @base.route('/base/syorganization!delete.action', methods=['POST']) def syorganization_delete(): org = Organization.query.get(request.form.get('id')) if org: db.session.delete(org) return jsonify({'success': True})