def delete_professors(): """Render a view for deleting professors.""" form = ProfessorForm() pfactory = PosGraduationFactory(current_user.pg_initials) dao = pfactory.board_of_professors_dao() json = pfactory.board_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 add_professors(): """Render a view for professors.""" form = ProfessorForm() pfactory = PosGraduationFactory(current_user.pg_initials) dao = pfactory.board_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') )
def add_researcher(): """Render a view for researchers.""" form = ResearcherForm() pfactory = PosGraduationFactory(current_user.pg_initials) dao = pfactory.board_of_professors_dao() if form.validate_on_submit() and form.create.data: new_researcher = { 'name': form.name.data, 'cpf': form.cpf.data, } dao.find_one_and_update(None, { '$push': {'researchers': new_researcher} }) return redirect( url_for( 'admin.add_researcher', success_msg='Pesquisador adicionado com sucesso.' ) ) return render_template( 'admin/add_researcher.html', form=form, success_msg=request.args.get('success_msg') )
def edit_professors(): """Render a view for editing professors.""" form = ProfessorForm() pfactory = PosGraduationFactory(current_user.pg_initials) dao = pfactory.board_of_professors_dao() json = pfactory.board_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 view_chapters(initials): """Render a view for chapters list.""" pfactory = PosGraduationFactory(initials) post_graduation = pfactory.post_graduation researchers = list( pfactory.board_of_professors_dao().find_one()['researchers']) publications = pfactory.publications_sigaa_dao(researchers, 'capitulos-livros').find() # renders an own page or redirect to another (external/404)? return render_template('public/chapters.html', std=get_std_for_template(post_graduation), publications=publications)
def view_professors(initials): """Render a view for professors list.""" try: pfactory = PosGraduationFactory(initials) post_graduation = pfactory.post_graduation board_of_professors_sigaa = SigaaScraper.professors_list(initials) board_of_professors_database = list( pfactory.board_of_professors_dao().find_one()['professors']) board_of_professors = board_of_professors_sigaa + board_of_professors_database print(board_of_professors, file=sys.stderr) return render_template( 'public/professors.html', std=get_std_for_template(post_graduation), board_of_professors=board_of_professors, ) except Exception: return page_not_found()