예제 #1
0
def api_casos_buscar_casos():
    id_caso = request.args.get('q', type=str)
    if id_caso:
        _casos = Caso.query.filter(Caso.id.like(id_caso + '%')).filter(
            Caso.status.is_(True)).order_by(Caso.id).all()
    else:
        _casos = Caso.query.filter(Caso.status.is_(True)).order_by(
            Caso.id).limit(5).all()

    if not _casos:
        response = app.response_class(response=json.dumps({
            'id':
            1,
            'text':
            'Não há casos cadastrados no sistema'
        }),
                                      status=200,
                                      mimetype='application/json')
        return response

        # Dados formatados para o select2
    casos_clean = [{
        'id': _casos[i].id,
        'text': 'Caso ' + str(_casos[i].id)
    } for i in range(0, len(_casos))]

    response = app.response_class(response=json.dumps({'results':
                                                       casos_clean}),
                                  status=200,
                                  mimetype='application/json')
    return response
예제 #2
0
def api_casos_buscar_assistido():
    termo = request.args.get('q', type=str)

    #Se nada for digitado, retornar os 5 assistidos mais recentes
    if termo:
        _assistidos = Atendido.query.join(Assistido).filter(
            or_(Atendido.cpf.like(termo + '%'),
                Atendido.cnpj.like(termo + '%'),
                Atendido.nome.like(termo + '%'))).filter(
                    Atendido.status.is_(True)).order_by(Atendido.nome).all()
    else:
        _assistidos = Atendido.query.join(Assistido).filter(
            Atendido.status.is_(True)).order_by(Atendido.nome).limit(5).all()

    # Dados formatados para o select2
    assistidos_clean = [{
        'id': assistido.id,
        'text': assistido.nome,
        'cpf': assistido.cpf,
        'cnpj': assistido.cnpj
    } for assistido in _assistidos]
    response = app.response_class(response=json.dumps(
        {'results': assistidos_clean}),
                                  status=200,
                                  mimetype='application/json')
    return response
예제 #3
0
def api_relatorios_buscar_area_direito():
    termo = request.args.get('q', type=str)
    areas_direito_clean = []

    if not termo:
        areas_direito_clean = [{
            'id': assistencia_jud_areas_atendidas[area][0],
            'text': assistencia_jud_areas_atendidas[area][1]
        } for area in assistencia_jud_areas_atendidas]

    else:
        area_direito_front = {}

        for area in assistencia_jud_areas_atendidas:
            if (termo
                    in assistencia_jud_areas_atendidas[area][1]) or (termo
                                                                     in area):
                area_direito_front[area] = assistencia_jud_areas_atendidas[
                    area][1]

        areas_direito_clean = [{
            'id': assistencia_jud_areas_atendidas[area][0],
            'text': area_direito_front[area]
        } for area in area_direito_front]

    response = app.response_class(response=json.dumps(
        {'results': areas_direito_clean}),
                                  status=200,
                                  mimetype='application/json')
    return response
예제 #4
0
def api_relatorios_buscar_estagiarios():
    termo = request.args.get('q', type=str)

    #Se nada for digitado, retornar os 5 assistidos mais recentes
    if termo:
        estagiarios = Usuario.query.filter(
            Usuario.status and Usuario.urole
            == usuario_urole_roles['ESTAGIARIO_DIREITO'][0]).filter(
                Usuario.nome.like(termo + '%')).order_by(Usuario.nome).all()
    else:
        estagiarios = Usuario.query.filter(
            Usuario.status and Usuario.urole
            == usuario_urole_roles['ESTAGIARIO_DIREITO'][0]).order_by(
                Usuario.nome).limit(5).all()

    # Dados formatados para o select2
    estagiarios_clean = [{
        'id': estagiario.id,
        'text': estagiario.nome
    } for estagiario in estagiarios]
    response = app.response_class(response=json.dumps(
        {'results': estagiarios_clean}),
                                  status=200,
                                  mimetype='application/json')
    return response
예제 #5
0
def ajax_multiselect_associa_aj_oj(orientacao_id):
    q = request.args.get('q')

    if q == None:
        resultado_json = {"results": []}
    else:
        orientacao_juridica = OrientacaoJuridica.query.filter_by(id=orientacao_id).first()

        relacoes_aj_oj = (db.session.query(AssistenciaJudiciaria_xOrientacaoJuridica.id_assistenciaJudiciaria)
                                                                   .filter_by(id_orientacaoJuridica = orientacao_juridica.id)
                                                                   .all())
        relacoes_aj_oj = [x[0] for x in relacoes_aj_oj]

        assistencias_judiciarias = (AssistenciaJudiciaria.query 
                                                         .filter(AssistenciaJudiciaria.areas_atendidas.contains(orientacao_juridica.area_direito) & AssistenciaJudiciaria.nome.contains(q)
                                                                & (AssistenciaJudiciaria.status == True)
                                                                & (~AssistenciaJudiciaria.id.in_(relacoes_aj_oj)))
                                                         .all())

        resultado_json = {"results": [{"id": aj.id, "text": aj.nome} for aj in assistencias_judiciarias]}

    response = app.response_class(
        response = json.dumps(resultado_json),
        status = 200,
        mimetype = 'application/json'
    )
    return response 
예제 #6
0
def api_casos_buscar_roteiro():
    termo = request.args.get('termo', type=str)
    if termo:
        _roteiro = Roteiro.query.filter_by(area_direito=termo).first()
        if _roteiro:
            roteiro_clean = {'link': _roteiro.link}
        else:
            roteiro_clean = {'link': ''}
    else:
        roteiro_clean = {'link': ''}

    response = app.response_class(response=json.dumps(roteiro_clean),
                                  status=200,
                                  mimetype='application/json')
    return response
예제 #7
0
def api_casos_buscar_colaborador():
    termo = request.args.get('q', type=str)
    if termo:
        _usuarios = Usuario.query.filter(Usuario.nome.like(termo+'%')).filter(Usuario.status.is_(True)).filter_by(urole = 'colab_ext').order_by(Usuario.nome).all()
    else:
        _usuarios = Usuario.query.filter(Usuario.status.is_(True)).filter_by(urole = 'colab_ext').order_by(Usuario.nome).limit(5).all()

    # Dados formatados para o select2
    usuarios_clean = [{'id':usuario.id, 'text':usuario.nome} for usuario in _usuarios]
    response = app.response_class(
        response = json.dumps({'results':usuarios_clean}),
        status = 200,
        mimetype = 'application/json'
    )
    return response
예제 #8
0
def busca_assistencia_judiciaria(_busca):
    page = request.args.get('page', 1, type=int)
    if _busca is None:
        assistencias = db.session.query(AssistenciaJudiciaria).filter_by(status = True).order_by(AssistenciaJudiciaria.nome.asc()).paginate(page, app.config['ATENDIDOS_POR_PAGINA'], False)
    else:
        assistencias = (db.session
                          .query(AssistenciaJudiciaria)
                          .filter(AssistenciaJudiciaria.nome.contains(_busca) & (AssistenciaJudiciaria.status == True))
                          .order_by(AssistenciaJudiciaria.nome.asc())
                          .paginate(page, app.config['ATENDIDOS_POR_PAGINA'], False))
    result = []
    for item in assistencias.items:
        result.append(item)
    response = app.response_class(
        response = json.dumps(serializar(result)),
        status = 200,
        mimetype = 'application/json'
    )
    return response