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)
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
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
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
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)