Exemplo n.º 1
0
def getRoleTreeData(role_code):
    """
    向客户端返回查询角色的树数据
    :param role_code: str, 角色代码
    :return: json, 以角色为顶节点的树({'data':{'role_code': str, 'name': str, 'status': boolean, children:[]}})
    """
    h = RoleHandler()
    return packageResponse({'data': h.getRoleTreeData(role_code)})
Exemplo n.º 2
0
 def getRoles(self):
     """
     获得对象的角色列表
     :return: list, 对象的角色列表
     """
     h = UserHandler()
     r = RoleHandler()
     roles = h.getUserRolesByCode(self.user_code)
     all_roles = roles.copy()
     for e in roles:
         all_roles.extend(r.getAllDescendantsByCode(e.role_code))
     return all_roles
Exemplo n.º 3
0
def listRoles():
    """
    向客户端返回所有角色的列表
    :return: json, {'data': [{'role_code': str, 'name': str}]}
    """
    h = RoleHandler()
    l = h.listRoles(status='')
    return packageResponse(
        {'data': [{
            'role_code': e.role_code,
            'name': e.name
        } for e in l]})
Exemplo n.º 4
0
 def getUserViewroute(self):
     """
     获得对象有权访问的前台菜单列表
     :return: list, 对象有权访问的前台菜单列表
     """
     vr = []
     if self.roles and len(self.roles) > 0:
         h = RoleHandler()
         for e in self.roles:
             r = h.getViewrouteByRole(e.role_code)
             for ee in r:
                 vr.append({'viewroute': ee.viewroute, 'leaf': ee.leaf})
     return eliminateListDups(vr)
Exemplo n.º 5
0
 def getUserEndpoint(self):
     """
     获得对象有权访问的后台服务列表
     :return: list, 对象有权访问的后台服务列表
     """
     ep = []
     if self.roles and len(self.roles) > 0:
         h = RoleHandler()
         for e in self.roles:
             r = h.getEndpointByRole(e.role_code)
             for ee in r:
                 ep.append({'endpoint': ee.endpoint, 'method': ee.method})
     return eliminateListDups(ep)
Exemplo n.º 6
0
def getRoleData():
    """
    向客户端返回角色数据(包括角色的后台服务和前台菜单)
    :return: json, [{'code': str, 'name': name, 'status': boolean, 'endpoint': [], 'viewroute': []}]
    """
    args = request.args
    params = {'code': '', 'name': ''}
    if 'code' in args:
        params['code'] = args['code']
    if 'name' in args:
        params['name'] = args['name']
    h = RoleHandler()
    return packageResponse({'data': h.getRoleData(params)})
Exemplo n.º 7
0
def getRoleRoutes():
    """
    向客户端返回角色的前置菜单列表
    :return: json, {'data': []}
    """
    h = RoleHandler()
    data = request.get_json()
    a = []
    if data:
        for e in data:
            r = h.getViewrouteByRole(e)
            if r:
                a.extend([e.viewroute for e in r])
    return packageResponse({'data': a})
Exemplo n.º 8
0
def updateRole():
    """
    更新角色数据
    :return: json, {'data':{'code': r}} r为0表示更新成功, 否则表示更新失败
    """
    data = request.get_json()
    if data:
        up = session['current_user_proxy']
        if up:
            h = RoleHandler()
            r = h.updateRoleData(data, up.user_code)
    return packageResponse({'data': {
        'code': r
    }}) if r == 0 else ('角色信息更新失败!', 500)