Beispiel #1
0
def matriculas(_write_tmpl, curso_id):
    # Lista de todos alunos do BD
    alunos = Aluno.query_alunos_ordenados_asc().fetch()
    #Construção da chave baseado no id do curso
    curso_key = ndb.Key(Curso, int(curso_id))

    lista_de_matriculas = Matricula.query_matriculas_do_curso(curso_key).fetch()

    # Filtrando apenas chaves dos alunos matriculados
    chaves_alunos_matriculados = [m.aluno for m in lista_de_matriculas]

    #montando lista de alunos matriculados e disponiveis
    alunos_matriculados = []
    alunos_disponiveis = []
    for aluno in alunos:
        if aluno.key in chaves_alunos_matriculados:
            alunos_matriculados.append(aluno)
        else:
            alunos_disponiveis.append(aluno)
        # buscando curso do BD. Usa memcache (NDB)
    curso = curso_key.get()

    #Montagem dos parametros do template
    values = {'curso': curso,
              'matricula_salvar_url': router.to_path(salvar_matricula),
              'lista_de_alunos_matriculados': alunos_matriculados,
              'lista_de_alunos_disponiveis': alunos_disponiveis}
    _write_tmpl('templates/matricula.html', values)
Beispiel #2
0
def salvar(_handler, nome):
    aluno = Aluno(nome=nome)
    aluno.put()
    home = router.to_path(index)
    _handler.redirect(home)