def query_opcoes_filtro_casos(opcao_filtro):
    if opcao_filtro == opcoes_filtro_casos['TODOS'][0]:
        return queryFiltradaStatus(Caso).order_by(Caso.data_criacao.desc())
    elif (opcao_filtro == opcoes_filtro_casos[key][0] for key in opcoes_filtro_casos):
        return queryFiltradaStatus(Caso).filter(Caso.situacao_deferimento == opcao_filtro).order_by(Caso.data_criacao.desc())
    else:
        return None
Exemple #2
0
def busca_oj(_busca):
    page = request.args.get('page', 1, type=int)
    if _busca is None:
        orientacoes = queryFiltradaStatus(OrientacaoJuridica).order_by(OrientacaoJuridica.id.desc()).paginate(page, app.config['ATENDIDOS_POR_PAGINA'], False)
    else:
        orientacoes = (queryFiltradaStatus(OrientacaoJuridica).outerjoin(Atendido_xOrientacaoJuridica, OrientacaoJuridica.id == Atendido_xOrientacaoJuridica.id_orientacaoJuridica)
                                                              .outerjoin(Atendido, Atendido.id == Atendido_xOrientacaoJuridica.id_atendido)
                                                              .filter(((Atendido.nome.contains(_busca)) | (Atendido.cpf.contains(_busca))) )
                                                              .order_by(OrientacaoJuridica.id.desc())
                                                              .paginate(page, app.config['ATENDIDOS_POR_PAGINA'], False))
    
    return render_template('busca_orientacoes_juridicas.html', orientacoes = orientacoes)
def query_opcoes_filtro_eventos(id_caso, opcao_filtro):
    if opcao_filtro == opcoes_filtro_eventos['TODOS'][0]:
        return queryFiltradaStatus(Evento)\
                    .filter_by(id_caso = id_caso)\
                    .order_by(Evento.data_criacao.desc())
    elif (opcao_filtro == opcoes_filtro_eventos[key][0]
          for key in opcoes_filtro_eventos):
        return queryFiltradaStatus(Evento)\
                    .filter_by(id_caso = id_caso)\
                    .filter(Evento.tipo == opcao_filtro)\
                    .order_by(Evento.data_criacao.desc())
    else:
        return None
Exemple #4
0
def perfil_oj(id):
    _orientacao = OrientacaoJuridica.query.get_or_404(id) 
    atendidos_envolvidos = (queryFiltradaStatus(Atendido)
                            .outerjoin(Atendido_xOrientacaoJuridica)
                            .filter(Atendido_xOrientacaoJuridica.id_orientacaoJuridica == _orientacao.id)
                            .order_by(Atendido.nome)
                            .all())

    assistencias_envolvidas = (queryFiltradaStatus(AssistenciaJudiciaria)
                               .outerjoin(AssistenciaJudiciaria_xOrientacaoJuridica)
                               .filter(AssistenciaJudiciaria_xOrientacaoJuridica.id_orientacaoJuridica == _orientacao.id)
                               .all())


    return render_template('perfil_orientacao_juridica.html', orientacao = _orientacao, atendidos = atendidos_envolvidos, assistencias = assistencias_envolvidas)
def excluir_processo(id_processo):
    def validaExclusao(processo: Processo):
        if current_user.urole == usuario_urole_roles['ADMINISTRADOR'][0]:
            return True
        if current_user.id == processo.id_criado_por:
            return True

        return False  

    def atualizarUltimoProcesso(id_do_caso):
        processos = Processo.query.filter_by(id_caso = id_do_caso, status = True).all()
        entidade_caso = Caso.query.filter_by(id = id_do_caso, status = True).first()
        if processos:         
            ultimo_processo = processos[-1:]
            entidade_caso.numero_ultimo_processo = ultimo_processo[0].numero
            db.session.commit()
        else:
            entidade_caso.numero_ultimo_processo = None
            db.session.commit()
            

    id_caso = request.args.get('id_caso', -1, type = int)
    
    processo = queryFiltradaStatus(Processo).filter_by(id = id_processo).first()

    if validaExclusao(processo):
        processo.status = False
        db.session.commit()
        atualizarUltimoProcesso(id_caso)
        flash('Processo excluído!', 'success')
    else:
        flash('Você não pode excluir este processo.', 'warning')
    return redirect(url_for('casos.visualizar_caso', id = id_caso))
Exemple #6
0
def perfil_assistido(_id):
    assistido = (queryFiltradaStatus(Atendido).filter(Atendido.id == _id)
                                              .add_entity(Assistido)
                                              .add_entity(AssistidoPessoaJuridica)
                                              .outerjoin(Assistido, Assistido.id_atendido == Atendido.id)
                                              .outerjoin(AssistidoPessoaJuridica, AssistidoPessoaJuridica.id_assistido == Assistido.id)
                                              .first())
    return render_template('perfil_assistidos.html', assistido = assistido)
Exemple #7
0
def excluir_processo(id_processo):
    def validaExclusao(processo: Processo):
        if current_user.urole == usuario_urole_roles['ADMINISTRADOR'][0]:
            return True
        if current_user.id == processo.id_criado_por:
            return True

        return False

    id_caso = request.args.get('id_caso', -1, type=int)

    processo = queryFiltradaStatus(Processo).filter_by(id=id_processo).first()

    if validaExclusao(processo):
        processo.status = False
        db.session.commit()
        flash('Processo excluído!', 'success')
    else:
        flash('Você não pode excluir este processo.', 'warning')
    return redirect(url_for('casos.visualizar_caso', id=id_caso))
def query_meus_casos(id_usuario: int):
    return queryFiltradaStatus(Caso) \
               .filter(or_(Caso.id_usuario_responsavel == id_usuario, Caso.id_orientador == id_usuario, Caso.id_estagiario == id_usuario)) \
               .order_by(Caso.data_criacao.desc())