示例#1
0
def edit_professors():
    """Render a view for editing professors."""

    form = ProfessorForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.boards_of_professors_dao()
    json = pfactory.boards_of_professors_dao().find_one()
    json = dict(json)
    json = dumps(json)

    if form.validate_on_submit() and form.create.data:
        index = str(form.index.data)
        new_professor = {
            'name': form.name.data,
            'rank': form.rank.data,
            'lattes': form.lattes.data,
            'email': form.email.data
        }

        dao.find_one_and_update(
            None, {'$set': {
                'professors.' + index: new_professor
            }})

        return redirect(
            url_for('admin.edit_professors',
                    professors=json,
                    success_msg='Professor editado com sucesso.'))

    return render_template('admin/edit_professors.html',
                           form=form,
                           professors=json,
                           success_msg=request.args.get('success_msg'))
示例#2
0
def delete_professors():
    """Render a view for deleting professors."""

    form = ProfessorForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.boards_of_professors_dao()
    json = pfactory.boards_of_professors_dao().find_one()
    json = dict(json)
    json = dumps(json)

    if form.validate_on_submit() and form.create.data:
        index = str(form.index.data)
        dao.find_one_and_update(
            None, {'$set': {
                'professors.' + index + '.deleted': ""
            }})

        return redirect(
            url_for('admin.delete_professors',
                    professors=json,
                    success_msg='Professor deletado com sucesso.'))

    return render_template('admin/delete_professors.html',
                           form=form,
                           professors=json,
                           success_msg=request.args.get('success_msg'))
示例#3
0
def view_professors(initials):
    """Render a view for professors list."""

    pfactory = PosGraduationFactory(initials)
    post_graduation = pfactory.post_graduation

    board_of_professors = pfactory.boards_of_professors_dao().find_one()

    # manually fill missing lattes
    for professor in board_of_professors['professors']:
        if 'Djalma Freire Borges'.upper() in professor['name'].upper():
            professor['lattes'] = 'http://lattes.cnpq.br/3216184364856265'
        elif 'Káio César Fernandes'.upper() in professor['name'].upper():
            professor['lattes'] = 'http://lattes.cnpq.br/9740792920379789'
        elif 'Richard Medeiros de Araújo'.upper() in professor['name'].upper():
            professor['lattes'] = 'http://lattes.cnpq.br/6158536331515084'
        elif 'Ítalo Fittipaldi'.upper() in professor['name'].upper():
            professor['lattes'] = 'http://lattes.cnpq.br/7626654802346326'
        elif 'Hironobu Sano'.upper() in professor['name'].upper():
            professor['lattes'] = 'http://lattes.cnpq.br/6037766951080411'


    # renders an own page or redirect to another (external/404)?
    return render_template(
        'public/professors.html',
        std=get_std_for_template(post_graduation),
        board_of_professors=board_of_professors
    )
示例#4
0
def add_professors():
    """Render a view for professors."""

    form = ProfessorForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.boards_of_professors_dao()

    if form.validate_on_submit() and form.create.data:
        new_professor = {
            'name': form.name.data,
            'rank': form.rank.data,
            'lattes': form.lattes.data,
            'email': form.email.data
        }

        dao.find_one_and_update(None, {'$push': {'professors': new_professor}})

        return redirect(
            url_for(
                'admin.add_professors',
                success_msg='Professor adicionado adicionado com sucesso.'))

    return render_template('admin/add_professors.html',
                           form=form,
                           success_msg=request.args.get('success_msg'))