def atualizar_questao(request, pk): questao = QuestaoObjetiva.objects.get(id = pk) if (request.method == 'POST'): form = QuestaoObjetivaForm(request.POST) formset = AlternativaObjetivaFormSet(request.POST) if form.is_valid() and formset.is_valid(): query = QuestaoObjetiva.objects.get(id = pk) query.nome = form.cleaned_data['nome'] query.enunciado = form.cleaned_data['enunciado'] query.nivel_estatico = form.cleaned_data['nivel_estatico'] query.tags = form.cleaned_data['tags'] query.save() AlternativaQuestao.objects.filter(questao = query).delete() for form_dict in formset.cleaned_data: if form_dict: alternativa = AlternativaQuestao() alternativa.questao = query alternativa.alternativa = form_dict['alternativa'] alternativa.valor = form_dict['valor'] alternativa.save() return HttpResponseRedirect('/questao/detail/%s/%s' % (questao.uid(), questao.id)) else: form = QuestaoObjetivaForm(initial={'nome':questao.nome, 'enunciado':questao.enunciado, 'criador':questao.criador, 'data_criacao':questao.data_criacao, 'nivel_estatico':questao.nivel_estatico, 'nivel_dinamico':questao.nivel_dinamico, 'questionarios':questao.questionarios, 'tags':questao.get_tags_as_string}) queryset= AlternativaQuestao.objects.filter(questao = questao).values() formset = AlternativaObjetivaFormSet(initial=queryset) return render_to_response('private/questao/objetiva/show.html', {'questao':questao, 'form':form, 'formset':formset}, context_instance=RequestContext(request))
def criar_questao(request): if request.method == 'POST': form = QuestaoObjetivaForm(request.POST) formset = AlternativaObjetivaFormSet(request.POST) if form.is_valid() and formset.is_valid(): questao = form.save(commit=False) questao.criador = request.user questao.save() questao.tags = form.cleaned_data['tags'] for form_dict in formset.cleaned_data: if form_dict: alternativa = AlternativaQuestao() alternativa.questao = questao alternativa.alternativa = form_dict['alternativa'] alternativa.valor = form_dict['valor'] alternativa.save() return HttpResponseRedirect('/questoes') else: form = QuestaoObjetivaForm() formset = AlternativaObjetivaFormSet() return render_to_response('private/questao/objetiva/form.html', {'form':form, 'formset':formset}, context_instance=RequestContext(request))