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