Example #1
0
def professor_curso_atividade_exercicio_edit(
    request, pk1, pk2, template_name="programacao/professor_curso_atividade_exercicio_edit.html"
):
    exercicio = get_object_or_404(ExercicioPratico, pk=pk2)
    atividade = Atividade.objects.get(id=exercicio.atividade_id)
    form = ExercicioForm(request.POST or None, request.FILES or None, instance=exercicio)

    if request.method == "POST":
        if form.is_valid():
            form.save()
            return redirect("programacao:professor_curso_atividade_edit", pk1=pk1, pk2=pk2)

    data = {}
    data["form"] = form
    data["exercicio"] = exercicio
    data["atividade"] = atividade
    data["curso_id"] = pk1
    return render(request, template_name, data)
Example #2
0
def professor_curso_atividade_exercicio(
    request, pk1, pk2, template_name="programacao/professor_curso_atividade_exercicio_edit.html"
):
    atividade = get_object_or_404(Atividade, pk=pk2)
    form = ExercicioForm(request.POST or None, request.FILES or None)
    if request.method == "POST":
        if form.is_valid():
            exercicio = form.save(commit=False)
            exercicio.atividade = atividade
            exercicio.save()
            return redirect("programacao:professor_curso_atividade_edit", pk1=pk1, pk2=pk2)

    data = {}
    data["form"] = form
    data["atividade"] = atividade
    data["curso_id"] = pk1
    return render(request, template_name, data)
Example #3
0
def curriculum_edit(request, pk, template_name='mathema/curriculum_edit.html'):
    curriculum = get_object_or_404(Curriculum, pk=pk)
    curriculum_form = CurriculumForm(request.POST or None, instance=curriculum)
    
    curso = None
    try:
        curso = Curso.objects.get(curriculum=curriculum)
    except:
        pass
    
    objetivo_novo_form = ObjetivoForm(request.POST or None)
    objetivo_list = Objetivo.objects.filter(curriculum_id = curriculum.id).order_by('ordem')

    topico_novo_form = TopicoForm(request.POST or None)
    topico_novo_form.fields["topicoPai"].queryset = Topico.objects.filter(objetivo__in=objetivo_list)
    
    atividade_nova_form = AtividadeForm(request.POST or None)
    suporte_novo_form = SuporteForm(request.POST or None)

    topico_atividade_form = TopicoAtividadeForm(request.POST or None)
    topico_suporte_form = TopicoSuporteForm(request.POST or None)
    atividade_suporte_form = AtividadeSuporteForm(request.POST or None)
    
    exercicio_novo_form = ExercicioForm(request.POST or None, request.FILES or None)

    if request.method=='POST' and 'salvar_curriculum' in request.POST:
        print("salvar_curriculum")
        if curriculum_form.is_valid():
            curriculum = curriculum_form.save(commit=False)
            curriculum.autor = request.user
            curriculum.save()
            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_curso_curriculum' in request.POST:
        print("salvar_curso_curriculum")
        if curriculum_form.is_valid():
            curriculum = curriculum_form.save(commit=False)
            curriculum.autor = request.user
            curriculum.save()
            return redirect('programacao:professor_curso_edit', pk=curso.id)
    elif request.method=='POST' and 'salvar_novo_objetivo' in request.POST:
        print("salvar_novo_objetivo")
        if objetivo_novo_form.is_valid():
            objetivo = objetivo_novo_form.save(commit=False)
            objetivo.curriculum = curriculum
            objetivo.autor = request.user
            objetivo.save()
            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_objetivo' in request.POST:
        print("salvar_objetivo")
        objetivo = Objetivo.objects.get(pk=request.POST["id"])
        objetivo.titulo = request.POST["titulo"]
        objetivo.descricao = request.POST["descricao"]
        objetivo.ordem = request.POST["ordem"]
        objetivo.curriculum = curriculum
        objetivo.autor = request.user
        objetivo.save()
        return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_novo_topico' in request.POST:
        print("salvar_novo_topico")
        if topico_novo_form.is_valid():
            topico = topico_novo_form.save(commit=False)
            topico.objetivo = Objetivo.objects.get(pk=request.POST["id_objetivo"])
            topico.autor = request.user
            topico.save()
            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_topico' in request.POST:
        print("salvar_topico")
        topico = Topico.objects.get(pk=request.POST["id"])
        topico.titulo = request.POST["titulo"]
        topico.descricao = request.POST["descricao"]
        topico.ordem = request.POST["ordem"]
        if request.POST.get("topico_pai") :
            topico.topico_pai = request.POST.get("topico_pai")
        topico.save()
        return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_nova_atividade' in request.POST:
        print("salvar_nova_atividade")
        if atividade_nova_form.is_valid() and topico_atividade_form.is_valid():
            atividade = atividade_nova_form.save(commit=False)
            atividade.autor = request.user
            atividade.save()
            
            topico = Topico.objects.get(pk=request.POST["id_topico"])

            topico_atividade = TopicoAtividade.objects.create(topico=topico, atividade=atividade)
            data = topico_atividade_form.cleaned_data
            topico_atividade.ordem = data['ordem']            
            topico_atividade.save()

            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_atividade' in request.POST and topico_atividade_form.is_valid:
        print("salvar_atividade")
        atividade = Atividade.objects.get(pk=request.POST["id"])
        atividade.titulo = request.POST["titulo"]
        atividade.descricao = request.POST["descricao"]

        from datetime import datetime

        ws_date = request.POST["deadline"]
        the_date = datetime.strptime(ws_date, '%d/%m/%Y %H:%M:%S')
        atividade.deadline = the_date

        atividade.autor = request.user
        atividade.save()
        
        topico = Topico.objects.get(pk=request.POST["id_topico"])

        topico_atividade = TopicoAtividade.objects.get(topico=topico, atividade=atividade)
        topico_atividade.ordem = request.POST["ordem"]
        topico_atividade.save()
        
        return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_novo_suporte' in request.POST:
        print("salvar_novo_suporte")
        if suporte_novo_form.is_valid() and topico_suporte_form.is_valid():
            suporte = suporte_novo_form.save(commit=False)
            suporte.autor = request.user
            if 'arquivo' in request.FILES :
                suporte.arquivo = request.FILES['arquivo']
            suporte.save()
            
            topico = Topico.objects.get(pk=request.POST["id_topico"])

            topico_suporte = TopicoSuporte.objects.create(topico=topico, suporte=suporte)
            topico_suporte.ordem = request.POST["ordem"]
            topico_suporte.save()

            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_suporte' in request.POST:
        print("salvar_suporte")
        suporte = Suporte.objects.get(pk=request.POST["id"]) #get_object_or_404(Location, pk=pk)
        suporte_form = SuporteEditForm(request.POST or None, request.FILES or None, instance=suporte)

        if suporte_form.is_valid():
            suporte_form.save()
            
            topico = Topico.objects.get(pk=request.POST["id_topico"])

            topico_suporte = TopicoSuporte.objects.get(topico=topico, suporte=suporte)
            topico_suporte.ordem = request.POST["ordem"]
            topico_suporte.save()

            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_novo_suporte_atividade' in request.POST:
        print("salvar_novo_suporte_atividade")
        if suporte_novo_form.is_valid() and atividade_suporte_form.is_valid():
            suporte = suporte_novo_form.save(commit=False)
            suporte.autor = request.user
            if 'arquivo' in request.FILES :
                suporte.arquivo = request.FILES['arquivo']
            suporte.save()
            
            atividade = Atividade.objects.get(pk=request.POST["id_atividade"])

            atividade_suporte = AtividadeSuporte.objects.create(atividade=atividade, suporte=suporte)
#             data = atividade_suporte_form.cleaned_data
            atividade_suporte.ordem = request.POST["ordem"]#data['ordem']
            atividade_suporte.save()

            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_suporte_atividade' in request.POST:
        print("salvar_suporte_atividade")
        suporte = Suporte.objects.get(pk=request.POST["id"]) #get_object_or_404(Location, pk=pk)
        suporte_form = SuporteEditForm(request.POST or None, request.FILES or None, instance=suporte)

        if suporte_form.is_valid():
            suporte_form.save()
            
            atividade = Atividade.objects.get(pk=request.POST["id_atividade"])

            atividade_suporte = AtividadeSuporte.objects.get(atividade=atividade, suporte=suporte)
            atividade_suporte.ordem = request.POST["ordem"]
            atividade_suporte.save()

            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'adicionar_suporte_atividade' in request.POST:
        print("adicionar_suporte_atividade")
        atividade = Atividade.objects.get(pk=request.POST["id_atividade"])

        if "id_meu_suporte_atividade" in request.POST :
            meu_suporte = Suporte.objects.get(pk=request.POST["id_meu_suporte_atividade"])
            novo_suporte = Suporte.objects.create(titulo=meu_suporte.titulo, tipo=meu_suporte.tipo, arquivo=meu_suporte.arquivo, link=meu_suporte.link, visualizacoes=0, autor=meu_suporte.autor)
            novo_suporte.autor = request.user
            novo_suporte.save()
            
            atividade_suporte = AtividadeSuporte.objects.create(atividade=atividade, suporte=novo_suporte)
            atividade_suporte.save()

        if "id_outro_suporte_atividade" in request.POST :
            outro_suporte = Suporte.objects.get(pk=request.POST["id_outro_suporte_atividade"])
            novo_suporte = Suporte.objects.create(titulo=outro_suporte.titulo, tipo=outro_suporte.tipo, arquivo=outro_suporte.arquivo, link=outro_suporte.link, visualizacoes=0, autor=request.user)
            novo_suporte.save()

            atividade_suporte = AtividadeSuporte.objects.create(atividade=atividade, suporte=novo_suporte)
            atividade_suporte.save()

        return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'adicionar_atividade' in request.POST:
        print("adicionar_atividade")
        topico = Topico.objects.get(pk=request.POST["id_topico"])

        if "id_minha_atividade" in request.POST :
            minha_atividade = Atividade.objects.get(pk=request.POST["id_minha_atividade"])
            nova_atividade = Atividade.objects.create(titulo=minha_atividade.titulo, descricao=minha_atividade.descricao, autor=request.user)
            
            for suporte in minha_atividade.get_suportes() :
                novo_suporte = Suporte.objects.create(titulo=suporte.titulo, tipo=suporte.tipo, arquivo=suporte.arquivo, link=suporte.link, visualizacoes=0, autor=request.user)
                novo_suporte.autor = request.user
                novo_suporte.save()
                
                atividade_suporte = AtividadeSuporte.objects.create(atividade=nova_atividade, suporte=novo_suporte)
                atividade_suporte.save()
                
            nova_atividade.save()

            topico_atividade = TopicoAtividade.objects.create(topico=topico, atividade=nova_atividade)
            topico_atividade.save()

        if "id_outra_atividade" in request.POST :
            outra_atividade = Atividade.objects.get(pk=request.POST["id_outra_atividade"])
            nova_atividade = Atividade.objects.create(titulo=outra_atividade.titulo, descricao=outra_atividade.descricao, autor=request.user)

            for suporte in outra_atividade.get_suportes() :
                novo_suporte = Suporte.objects.create(titulo=suporte.titulo, tipo=suporte.tipo, arquivo=suporte.arquivo, link=suporte.link, visualizacoes=0, autor=request.user)
                novo_suporte.autor = request.user
                novo_suporte.save()
                
                atividade_suporte = AtividadeSuporte.objects.create(atividade=nova_atividade, suporte=novo_suporte)
                atividade_suporte.save()

            nova_atividade.save()

            topico_atividade = TopicoAtividade.objects.create(topico=topico, atividade=nova_atividade)
            topico_atividade.save()

        return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'adicionar_suporte' in request.POST:
        print("adicionar_suporte")
        topico = Topico.objects.get(pk=request.POST["id_topico"])

        if "id_meu_suporte" in request.POST :
            meu_suporte = Suporte.objects.get(pk=request.POST["id_meu_suporte"])
            novo_suporte = Suporte.objects.create(titulo=meu_suporte.titulo, tipo=meu_suporte.tipo, arquivo=meu_suporte.arquivo, link=meu_suporte.link, visualizacoes=0, autor=request.user)
            novo_suporte.save()
            
            topico_suporte = TopicoSuporte.objects.create(topico=topico, suporte=novo_suporte)
            topico_suporte.save()

        if "id_outro_suporte" in request.POST :
            outro_suporte = Suporte.objects.get(pk=request.POST["id_outro_suporte"])
            novo_suporte = Suporte.objects.create(titulo=outro_suporte.titulo, tipo=outro_suporte.tipo, arquivo=outro_suporte.arquivo, link=outro_suporte.link, visualizacoes=0, autor=request.user)
            novo_suporte.save()

            topico_suporte = TopicoSuporte.objects.create(topico=topico, suporte=novo_suporte)
            topico_suporte.save()

        return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_novo_exercicio' in request.POST:
        print("salvar_novo_exercicio")
        if exercicio_novo_form.is_valid() :
            atividade = Atividade.objects.get(pk=request.POST["id_atividade"])

            exercicio = exercicio_novo_form.save(commit=False)
            exercicio.atividade = atividade
            if 'arquivoTeste' in request.FILES :
                exercicio.arquivoTeste = request.FILES['arquivoTeste']
            if 'arquivoSolucao' in request.FILES :
                exercicio.arquivoSolucao = request.FILES['arquivoSolucao']
            exercicio.save()

            return redirect('mathema:curriculum_edit', pk=pk)
    elif request.method=='POST' and 'salvar_exercicio' in request.POST:
        print("salvar_exercicio")
        exercicio = ExercicioPratico.objects.get(pk=request.POST["id"])
        exercicio_form = ExercicioPraticoEditForm(request.POST or None, request.FILES or None, instance=exercicio)

        if exercicio_form.is_valid():
            exercicio_form.save()
            return redirect('mathema:curriculum_edit', pk=pk)
    else:
        print("--")
#     elif 'editar_curso_curriculum' in request.POST:
#         curso = Curso.objects.get(curriculum=curriculum)
#         if curso :
#             return redirect('programacao:professor_curso_edit', pk=curso.id)
    
    data = {}
    data['curriculum'] = curriculum
    data['curriculum_form'] = curriculum_form
    data['curso'] = curso
    
    data['objetivo_novo_form'] = objetivo_novo_form
    data['objetivo_list'] = objetivo_list
    
    data['topico_novo_form'] = topico_novo_form
    data['atividade_nova_form'] = atividade_nova_form
    data['suporte_novo_form'] = suporte_novo_form
    
    data['topico_atividade_form'] = topico_atividade_form
    data['topico_suporte_form'] = topico_suporte_form
    data['atividade_suporte_form'] = atividade_suporte_form
    
    data['exercicio_novo_form'] = exercicio_novo_form
    
    return render(request, template_name, data)