Exemplo n.º 1
0
def add_question(request):
    # Get the context from the request.
    context = RequestContext(request)

    # A HTTP POST?
    if request.method == 'POST':
        question_form = QuestionForm(request.POST)
        #choice_form = ChoiceForm(request.POST,question_form)

        # Have we been provided with a valid form?
        if question_form.is_valid(): # and choice_form.is_valid():
            # Save the new category to the database.
            question_form.save(commit=True)
            #choice_form.save(commit=True)
            # Now call the index() view.
            # The user will be shown the homepage.
            return HttpResponseRedirect('/polls/')
        else:
            # The supplied form contained errors - just print them to the terminal.
            print question_form.errors#,choice_form.errors
    else:
        # If the request was not a POST, display the form to enter details.
        # form = QuestionForm()

        question_form = QuestionForm()
        choice_form = ChoiceForm()


    # Bad form (or form details), no form supplied...
    # Render the form with error messages (if any).
    return render_to_response('polls/add_question.html', {'question_form': question_form }, context)
Exemplo n.º 2
0
def updateqn(request, id):
    polls = Question.objects.get(id=id)
    form = QuestionForm(request.POST, instance = polls)
    if form.is_valid():
        form.save()
        return redirect('/polls/viewqn')
    return render(request, 'editqn.html', {'form': form})
Exemplo n.º 3
0
def new_question(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, "Question ajoutée")
        else:
            messages.error(request, "Formulaire invalide")
    else:
        messages.error(request, "Formulaire non trouvé")
    return redirect('polls:list')
Exemplo n.º 4
0
def question_create(request):
    if request.method == 'GET':
        return redirect(reverse_lazy('question_list'))

    poll_id = request.POST.get('poll')
    question_form = QuestionForm(request.POST)
    if question_form.is_valid():
        question_form.save()

        return redirect(reverse_lazy('poll_item', args=[poll_id]))

    return render(request, 'question/form.html', {'form': question_form})
Exemplo n.º 5
0
def add_question(request):
    if request.method == 'POST':
        form = QuestionForm(data=request.POST, user=request.user)
        if form.is_valid():
            form.save(commit=True)
            return HttpResponseRedirect('/polls/')
            #return IndexView(request)
        else:
            print form.errors
    else:
        form = QuestionForm(user=request.user);
    return render(request, 'polls/add_question.html',{'form': form})
Exemplo n.º 6
0
def question_update(request):
    if request.method == "POST":
        question_id = request.POST.get('record', '')

        poll_id = request.POST.get('poll')
        info = get_object_or_404(Questions, id=question_id)
        question_form = QuestionForm(request.POST, instance=info)

        if question_form.is_valid():
            question_form.save()

            return redirect(reverse_lazy('poll_item', args=[poll_id]))

    return render(request, 'question/form.html', {'form': question_form})
Exemplo n.º 7
0
def ask_question(req):	
	if req.user.is_authenticated:
		if req.method == 'POST':
			form = QuestionForm(req.POST,profile=req.user.profile)
			if form.is_valid():
				form.save()
				render_to = req.GET.get('next')
				return HttpResponseRedirect(render_to)
		else:
			form = QuestionForm()
		return render(req,'q.html', {'form':form})
	else:
		render_to = req.GET.get('next')
		return HttpResponseRedirect(render_to)
Exemplo n.º 8
0
def add_poll(request):
	if request.user.is_authenticated():
		if request.method == "POST":
			form = QuestionForm(request.POST)
			if form.is_valid():
				form.save(commit=True)
				return index(request)
			else:
				print form.errors
		else:
			form = QuestionForm
		return render(request, 'polls/add_poll.html', {'form':form})
	else:
		return HttpResponseRedirect('/polls/')
Exemplo n.º 9
0
def registerQ(request):
    #로그인 여부를 체크하는 코드
    if 'loginstate' in request.session:
        if request.method == "GET":  #해당 뷰를 GET 방식으로 요청시(페이지 접근)
            #QuestionForm 객체를 생성 - HTML에서 form 태그 컨텐츠안에 넣으면 됨
            obj = QuestionForm()
            return render(request, 'polls/registerQ.html', {'form': obj})
        else:  #해당 뷰를 POST방식으로 요청시
            #request.POST.get("") form내에 있는 특정 변수값을 가져올때
            #request.POST form내에 있는 모든 값을 사용
            #POST방식으로 온 데이터를 QuestionForm에 삽입
            obj = QuestionForm(request.POST, request.FILES)
            #obj.is_valid() : 사용자가 <form>에 있는 양식을 잘 작성했는지 확인(True,False)
            if obj.is_valid():  #값이 유효한가?
                #obj.save() : QuestionForm을 Question 객체로 변환 후,데이터베이스에 저장
                #obj.save(commit = False) : QuestionForm을 Question객체로 변환
                user = get_object_or_404(CustomUser,
                                         pk=request.session['username'])

                question = obj.save(commit=False)
                question.pub_date = datetime.now()
                question.customuser = user  #CustomUser 객체를 매칭
                question.save()  #데이터베이스에 반영
                return HttpResponseRedirect(reverse('polls:index'))
            else:  #값이 유효하지 않을때 처리
                return render(request, 'polls/registerQ.html', {
                    'form': obj,
                    'error_message': "비정상적인 값입니다."
                })
    else:  #세션에 loginstate값이 없는 경우(비로그인 상태)
        return render(request, 'polls/error.html',
                      {'error': '로그인 후 접근할 수 있는 페이지입니다.'})
Exemplo n.º 10
0
 def post(self, request):
     form = QuestionForm(request.POST)
     if form.is_valid():
         question = form.save(commit=false)
         text = form.cleaned_data['question']
         form = QuestionForm()
         #return redirect('polls:polls')
     args = {'form': form, 'text': text}
     return render(request, self.template_name, args)
Exemplo n.º 11
0
def add(request):
    # Implementamos el flujo GET
    if request.method == 'GET':
        # Creamos el formulario para preguntas
        form = QuestionForm()
        # Renderizamos el add.html con el formulario limpio
        return render(request, 'polls/add.html', {'form': form})
    # Implementamos el flujo POST
    elif request.method == 'POST':
        # Cargamos los datos posteados en un formulario
        form = QuestionForm(request.POST)
        # Guardamos los datos
        form.save()
        # Renderizamos el add.html con el formulario limpio y un mensaje de éxito
        return render(request, 'polls/add.html', {
            'form': QuestionForm(),
            'message': 'Datos guardados correctamente'
        })
Exemplo n.º 12
0
def pollqn(request):

    if request.method == "POST":
        print("POST4")
        form = QuestionForm(request.POST)
        #print(form.cleaned_data['question_text'])
        print("POST3")
        if form.is_valid():
            print("POST1")
            try:
                form.save()
                print("POST2")
                return redirect('/polls/viewqn')
            except:
                pass
    else:
        print("GET")
        form = QuestionForm()
    return render(request,'indexqn.html',{'form':form})
Exemplo n.º 13
0
def create(request):
    if request.method == 'POST':  # form 에서 요청이 POST로 오면
        form = QuestionForm(request.POST)
        if form.is_valid():
            q = form.save(commit=False)
            q.author = request.user
            q.pub_date = timezone.now()
            q.save()
            return redirect('polls:index')
    else:  # form 에서 요청이 GET으로 오면 아래 form 형식을 출력하여 사용자가 입력하게끔
        form = QuestionForm()
    return render(request, 'polls/create.html', {
        'form': form,
    })
Exemplo n.º 14
0
def edit_questions(request, poll_name):
    """
    Editing form and handler for adding new questions.
    """
    poll = Poll.objects.get(url=poll_name)
    ChoiceForms = inlineformset_factory(Question, Choice, fields=('value',))

    if request.method == 'POST':
        form = QuestionForm(request.POST)

        if form.is_valid():
            q = form.save(commit=False)

            cf = ChoiceForms(request.POST, instance=q)

            if cf.is_valid():

                q.save()
                cf.save()

                QLink.objects.create(
                        poll=poll,
                        question=q
                )

                return redirect('poll-edit-questions', poll.url)
        else:
            cf = ChoiceForms()
    else:
        form = QuestionForm()
        cf = ChoiceForms()
    return render(
        request,
            'polls/poll/questions.html',
        {
            'poll': poll,
            'questions': poll.questions_in_order().all(),
            'form': form,
            'choice_forms': cf,
            'old_questions': Question.objects.all()
        }
    )
Exemplo n.º 15
0
def registerQ(request):
    if request.session['loginstate'] == True:
        if request.method =="GET":
            obj = QuestionForm()
            return render(request, 'polls/registerQ.html', {'form' : obj })
        else:
            obj = QuestionForm(request.POST,request.FILES)
            
            if obj.is_valid():
                user = get_object_or_404(CustomUser, pk = request.session['username'])
                
                question = obj.save(commit=False)
                question.pub_date = datetime.now()
                question.customuser = user
                question.save()
                return HttpResponseRedirect(reverse('polls:index'))
            else:
                return render(request, 'polls/registerQ.html', 
                              {'form' : obj, 'error_message' : "비정상적인 값입니다."})
    else:
        return render(request,'polls/error.html', {'error': '로그인 후 접근할 수 있는 페이지입니다.'})
Exemplo n.º 16
0
def edit_questions(request, poll_name):
    """
    Editing form and handler for adding new questions.
    """
    poll = Poll.objects.get(url=poll_name)
    ChoiceForms = inlineformset_factory(Question, Choice, fields=('value', ))

    if request.method == 'POST':
        form = QuestionForm(request.POST)

        if form.is_valid():
            q = form.save(commit=False)

            cf = ChoiceForms(request.POST, instance=q)

            if cf.is_valid():

                q.save()
                cf.save()

                QLink.objects.create(poll=poll, question=q)

                return redirect('poll-edit-questions', poll.url)
        else:
            cf = ChoiceForms()
    else:
        form = QuestionForm()
        cf = ChoiceForms()
    return render(
        request, 'polls/poll/questions.html', {
            'poll': poll,
            'questions': poll.questions_in_order().all(),
            'form': form,
            'choice_forms': cf,
            'old_questions': Question.objects.all()
        })