예제 #1
0
def cadastrar_disciplina(id, nome, creditos, codigo, vagas, horario, dias,
                         requisito):
    u = Disciplina(id, nome, creditos, codigo, vagas, horario, dias, requisito,
                   [])
    db_session.add(u)
    db_session.commit()
    return "Disciplina cadastrada com sucesso"
예제 #2
0
def alterar_dados_discente(id_discente):
    """
    Atualiza informações de cadastro de um discente
    """

    params = request.args

    camunda_handler = CamundaService("alterar_dados_usuario",
                                     config=TestConfig)
    process_data = camunda_handler.start_process()

    camunda_handler.claim_task(process_data["processInstanceId"])
    camunda_handler.complete_task(process_data["processInstanceId"])

    discente = Discente.query.get(id_discente)

    for param in params:
        setattr(discente, param, params[param])
        db_session.commit()

    camunda_handler.claim_task(process_data["processInstanceId"])
    camunda_handler.complete_task(process_data["processInstanceId"])

    return {
        "id": discente.id,
        "nome": discente.nome,
        "sobrenome": discente.sobrenome,
        "email": discente.email,
        "dia_nascimento": discente.dia_nascimento,
        "mes_nascimento": discente.mes_nascimento,
        "ano_nascimento": discente.ano_nascimento,
        "curso": discente.curso,
        "prioridade": discente.prioridade
    }
예제 #3
0
def cadastrar_discente(id, nome, sobrenome, email, senha, dia_nascimento,
                       mes_nascimento, ano_nascimento, curso, prioridade):
    u = Discente(id, nome, sobrenome, email, senha, dia_nascimento,
                 mes_nascimento, ano_nascimento, curso, prioridade)
    db_session.add(u)
    db_session.commit()
    return "Aluno cadastrado com sucesso"
예제 #4
0
def trancar_inscricao_discente(id_disciplina, id_discente):
    """
    Tranca a inscrição de um aluno que esteja inscrito em uma disciplina
    """
    disciplina = Disciplina.query.get(id_disciplina)

    disciplina.inscritos.remove(id_discente)
    setattr(disciplina, "vagas", disciplina.vagas + 1)
    db_session.commit()

    return "Inscrição trancada com sucesso"
예제 #5
0
def inscrever_discente(id_disciplina, id_discente):
    """
    Inscreve um aluno em uma disciplina
    """

    disciplina = Disciplina.query.get(id_disciplina)

    if (disciplina.vagas > 0):
        setattr(disciplina, "inscritos", disciplina.inscritos + [id_discente])
        setattr(disciplina, "vagas", disciplina.vagas - 1)
        db_session.commit()

        return "Aluno inscrito com sucesso"
    else:
        verificar_prioridade(id_disciplina, id_discente)

        return
예제 #6
0
def verificar_prioridade(id_disciplina, id_discente):
    """
    Inscreve aluno caso ele possua maior prioridade que os alunos atualmente inscritos
    """
    disciplina = Disciplina.query.get(id_disciplina)
    aluno_menor_prioridade = Discente.query.get(id_discente)
    prioridade_inicial = aluno_menor_prioridade.prioridade

    for aluno in disciplina.inscritos:
        if (aluno.prioridade < aluno_menor_prioridade.prioridade):
            aluno_menor_prioridade = aluno

    if (aluno_menor_prioridade.prioridade != prioridade_inicial):
        disciplina.inscritos.remove(aluno_menor_prioridade.id)
        setattr(disciplina, "inscritos", disciplina.inscritos + [id_discente])
        db_session.commit()

        return "Aluno inscrito com sucesso"

    else:
        return "Não foi possível concluir a inscrição"
예제 #7
0
def alterar_dados_discente(id_discente):
    """
    Atualiza informações de cadastro de um discente
    """

    params = request.args

    discente = Discente.query.get(id_discente)

    for param in params:
        setattr(discente, param, params[param])
        db_session.commit()

    return {
        "id": discente.id,
        "nome": discente.nome,
        "sobrenome": discente.sobrenome,
        "email": discente.email,
        "dia_nascimento": discente.dia_nascimento,
        "mes_nascimento": discente.mes_nascimento,
        "ano_nascimento": discente.ano_nascimento,
        "curso": discente.curso
    }