def aviso_professor(request, ra_professor): cnx = abrirConexao() cursor = None usuario_logado = ast.literal_eval(request.COOKIES['usuario_logado']) context = {} if usuario_logado: context['usuario_logado'] = usuario_logado try: if cnx: cursor = cnx.cursor() if request.POST: erros = [] aviso = request.POST.get('aviso') if aviso.strip() == '': erros.append("Aviso inválido") if not (erros): cursor.execute("SELECT email FROM Professor where ra = {};".format(ra_professor)) email = cursor.fetchall() enviarEmail(email, aviso) cursor.execute( "insert into HistoricoAvisos(aviso, data_envio, ra_usuario, ra_remetente) values ('{}', '{}', {}, {} );".format( aviso, datetime.date.today(), usuario_logado['ra'], ra_professor)) else: context['erros'] = erros finally: fecharConexao(cursor, cnx) return render(request, "aluno/aviso_area_professor.html", context)
def enviar_avisos(request): cnx = abrirConexao() cursor = None context = {} usuario_logado = ast.literal_eval(request.COOKIES['usuario_logado']) if usuario_logado: context = {'usuario_logado': usuario_logado} if cnx: cursor = cnx.cursor() try: if request.POST: erros = [] aviso = request.POST.get('aviso') para = request.POST.get('para') if aviso.strip() == '': erros.append("Aviso inválido") if not (erros): if para == 'alunos': cursor.execute("SELECT email FROM Aluno;") email = cursor.fetchall() enviarEmail(email, aviso) cursor.execute("select ra from Aluno;") ids = cursor.fetchall() for x in range(0, len(ids)): # Inserir histórico if ids[x][0] != usuario_logado['ra']: cursor.execute( "insert into HistoricoAvisos(aviso, data_envio, ra_usuario, ra_remetente) values ('{}', '{}', {}, {} );".format( aviso, datetime.date.today(), usuario_logado['ra'], ids[x][0])) elif para == 'professores': cursor.execute("select email from Professor;") email = cursor.fetchall() enviarEmail(email, aviso) cursor.execute("select ra from Professor;") ids = cursor.fetchall() for x in range(0, len(ids)): # Inserir histórico if ids[x][0] != usuario_logado['ra']: cursor.execute( "insert into HistoricoAvisos(aviso, data_envio, ra_usuario, ra_remetente) values ('{}', '{}', {}, {} );".format( aviso, datetime.date.today(), usuario_logado['ra'], ids[x][0])) else: context['erros'] = erros finally: fecharConexao(cursor, cnx) return render(request, 'avisos.html', context)
def confirmar_matricula(request): cnx = abrirConexao() cursor = None context = {} usuario_logado = ast.literal_eval(request.COOKIES['usuario_logado']) disciplina = ast.literal_eval(request.COOKIES['disciplina']) if usuario_logado: context['usuario_logado'] = usuario_logado else: context['usuario_logado'] = None if disciplina: context['disciplina'] = disciplina else: context['disciplina'] = None try: matricula = request.COOKIES['matricula'] except KeyError: matricula = None try: if cnx: cursor = cnx.cursor(dictionary=True) if matricula: context['matricula'] = matricula if request.POST: if matricula and usuario_logado['tipo'] == 'PROFESSOR': opcao = request.POST.get('opcao') if opcao == 'yes': cursor.execute( "insert into Matricula(ra_aluno, nome_disciplina, ano_ofertado, semestre_ofertado, id_turma) values ({}, '{}', {}, '{}', {});".format( usuario_logado['ra'], disciplina['nome_disciplina'], disciplina['ano'], disciplina['semestre'], matricula['id_turma'])) enviarEmail(matricula['email'], "Parabéns sua matricula foi aprovada!") context['usuario_logado'] = usuario_logado resposta = render_to_response('index.html', context) resposta.delete_cookie('disciplina') return resposta else: enviarEmail(matricula['email'], "Sua matricula foi reprovada!!!\nPor favor fale com seu professor!") context['usuario_logado'] = usuario_logado resposta = render_to_response('index.html', context) resposta.delete_cookie('disciplina') return resposta finally: fecharConexao(cursor, cnx) return render(request, 'professor/confirmar_matricula.html', context)
def enviar_aviso_nova_atividade(request): cnx = abrirConexao() cursor = None usuario_logado = request.COOKIES['usuario_logado'] context = {} context['usuario_logado'] = usuario_logado try: if cnx: cursor = cnx.cursor() if request.POST: erros = [] nome = request.POST.get('nome') sumario = request.POST.get('sumario') instrucoes = request.POST.get('instrucoes') data = request.POST.get('data') if nome.strip() == '': erros.append('Nome inválido!') if sumario.strip() == '': erros.append('Sumário inválido!') if instrucoes.strip() == '': erros.append('Instruções inválidas!') if data.strip() == '': erros.append('Data inválida!') if not (erros): cursor.execute('select email from Aluno;') alunos = cursor.fetchall() cursor.execute( "insert into HistoricoAtividade (sumario, nome, ra_professor, instrucoes, data_entrega) values('{}', '{}', {} , '{}', '{}');".format( sumario, nome, 2000, instrucoes, datetime.datetime.strptime(data, '%d/%m/%Y').date())) enviarEmail(alunos, 'ola aluno tem nova atividade') else: context['erros'] = erros finally: fecharConexao(cursor, cnx) return render(request, 'professor/aviso_nova_atividade.html', context)
def cadastrar_questoes(request): cnx = abrirConexao() cursor = None try: if cnx: cursor = cnx.cursor(dictionary=True) usuario_logado = ast.literal_eval(request.COOKIES['usuario_logado']) context = {'usuario_logado': usuario_logado} cursor.execute('select nome_disciplina from Turma where ra_professor = {};'.format(usuario_logado['ra'])) disciplinas = cursor.fetchall() context['disciplinas'] = disciplinas if request.POST: disciplina = request.POST.get('disciplina') num_questao = request.POST.get('num_questao') data_entrega = request.POST.get('data_entrega') descricao = request.POST.get('descricao') cursor.execute("select * from DisciplinaOfertada where nome_disciplina = '{}';".format(disciplina)) disciplina_ofertada = cursor.fetchall() cursor.execute("select id_turma from Turma where nome_disciplina = '{}';".format(disciplina)) id_turma = cursor.fetchall() cursor.execute("insert into Questao values('{}', {}, '{}', {}, {}, '{}', '{}', '{}')".format( disciplina_ofertada[0]['nome_disciplina'], disciplina_ofertada[0]['ano'], disciplina_ofertada[0]['semestre'], id_turma[0]['id_turma'], num_questao, datetime.datetime.strptime(data_entrega, '%d/%m/%Y').date(), descricao, datetime.date.today())) enviarEmail('*****@*****.**', 'ola aluno temos novas atividades') finally: fecharConexao(cursor, cnx) return render(request, 'professor/cadastro_questoes.html', context)