Example #1
0
def flow_opcionais(request, estrutura):
    semestre_opcional = 0
    estrutura_opcionais = get_oc_by_semestre(estrutura, semestre_opcional)

    context = {
        'estrutura': estrutura,
        'estrutura_opcionais': estrutura_opcionais,
    }

    return render(request, 'core/flow/flow-opcionais.html', context)
Example #2
0
def get_turmas(estrutura, semestre):
    org_curricular = get_oc_by_semestre(estrutura, semestre)

    turmas = []
    for oc in org_curricular:
        turma = Turma.objects.filter(componente=oc.componente,
                                     ano=2019,
                                     periodo=2)
        for t in turma:
            turmas.append(t)

    return turmas
Example #3
0
def get_turmas(estrutura, semestre, ano, periodo):
    org_curricular = get_oc_by_semestre(estrutura, semestre)

    turmas_result = []
    for oc in org_curricular:
        # Classe Turma Estendida para guardar informações de Organização Curricular ( tipo_vinculo, semestre, curso)
        turmas = Turma.objects.filter(componente=oc.componente, ano=ano, periodo=periodo)

        for t in turmas:
            turma_estendida = TurmaEstendida(t, oc.tipo_vinculo, oc.semestre, estrutura.curso)
            turmas_result.append(turma_estendida)

    return turmas_result
Example #4
0
def get_sugestao_turmas(estrutura, semestre, ano, periodo):
    # TODO Remover isso pois as informações de tipo_vinculo, semestre e curso serão informadas na inclusão
    org_curricular = get_oc_by_semestre(estrutura, semestre)

    sugestoes_turmas = []
    for oc in org_curricular:
        turmas_componente = SugestaoTurma.objects.filter(componente=oc.componente, ano=ano, periodo=periodo)
        for t in turmas_componente:
            # turma.tipo_vinculo = oc.tipo_vinculo
            # turma.semestre = oc.semestre
            # turma.curso = estrutura.curso
            sugestoes_turmas.append(t)

    return sugestoes_turmas
Example #5
0
def flow_horizontal(request, estrutura, link_opcionais):
    """
    Função que monta o contexto para a telas que Exibe a Estrutura Curricular na Horizontal.
    :param link_opcionais: Link para os componentes opcionais da Estrutura Curricular.
    :param request: Uma Requisição HTTP.
    :param estrutura: Um objeto do tipo @EstruturaCurricular.
    :return: Um Response HTTP.
    """
    estrutura_all = []
    max_comp_by_semestre = 0
    for s in range(1, 9):
        estrutura_row = []
        oc = get_oc_by_semestre(estrutura, s)
        ch = get_ch_by_semestre(estrutura, s)

        num_comp_by_semestre = len(oc)
        if num_comp_by_semestre >= max_comp_by_semestre:
            max_comp_by_semestre = num_comp_by_semestre

        estrutura_row.append(f"{s}º")
        estrutura_row.append(oc)
        estrutura_row.append(num_comp_by_semestre)
        estrutura_row.append(ch)
        estrutura_all.append(estrutura_row)

    # Ajustando a diferença entre do número de componentes no semestre e o máximo.
    for row in estrutura_all:
        row[2] = max_comp_by_semestre - row[2]

    context = {
        'estrutura': estrutura,
        'max_comp_by_semestre': max_comp_by_semestre,
        'estrutura_all': estrutura_all,
        'link_opcionais': link_opcionais,
    }

    return render(request, 'core/flow/flow-horizontal.html', context)