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