コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)