Exemplo n.º 1
0
def ask_question(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            if request.user.is_authenticated():
                q = form.save(commit=False)
                q.user = request.user
                q.save()
            else:
                form.save()
            return HttpResponseRedirect(reverse(index))
    else:
        form = QuestionForm()
    return render_to_response('questions/ask.html', {'question_form': form,}, context_instance = RequestContext(request))
Exemplo n.º 2
0
def save_question(request, qid):
    question = Question.objects.get(id=qid)
    question.updated = datetime.now()
    question_form = QuestionForm(request.REQUEST,
                                 files=request.FILES,
                                 instance=question)
    if question_form.is_valid():
        question_form.save()

    #answers = AnswerFormSet(data=request.REQUEST, files=request.FILES)
    #for form in answers:
    #    if form.is_valid():
    #        form.save()

    return redirect(list_questions, question_form.instance.question_set.id)
Exemplo n.º 3
0
def create_question(request):
    if request.method == 'POST':
        # Set the submission_date automatically.
        form = QuestionForm(request.POST)
        if form.is_valid():
            print form.cleaned_data
            form.save()
            return HttpResponseRedirect(reverse('questions:list'))
        else:
            context = {'form': form}
            return render(request, 'questions/new.html', context)
    else:
        form = QuestionForm()
        context = {'form': form}
        return render(request, 'questions/new.html', context)
Exemplo n.º 4
0
def show_question(request, pk_meeting, pk_quiz):

    question_form = QuestionForm(request.POST or None)
    meeting = get_object_or_404(Meeting, pk=pk_meeting)
    quiz = get_object_or_404(Quiz, pk=pk_quiz)
    list_questions = quiz.question_questionnaires.all()

    if question_form.is_valid():

        question = question_form.save(commit=False)
        question.question = question_form.cleaned_data.get('question')
        question.answer = ''
        question.save()
        quiz.question_questionnaires.add(question)

        messages.success(request, 'Pergunta Adicionada Com Sucesso!')
        return redirect('/ver_questionario/' + str(meeting.id) + '/' +
                        str(quiz.id))

    quiz_form = QuestionForm()

    return render(
        request, 'questions/show_quiz.html', {
            'form': quiz_form,
            'meeting': meeting,
            'list_questions': list_questions,
            'quiz': quiz
        })
Exemplo n.º 5
0
    def post(self, request):
        form = QuestionForm(request.POST, request.FILES)
        if form.is_valid():
            # Actions
            this = form.save()

            # Add sentences
            _add_sentences(this)
            
            # Views
            if request.POST['html'] == 'false':
                return HttpResponse(str(this.pk))
            else:
                return redirect(request.POST['next'])
        else:
            # Do nothing
            
            # Views
            if request.POST['html'] == 'false':
                return HttpResponse('-1')
            else:
                data = {'title': 'Failed',
                        'message': 'Question upload failed.',
                        'link': reverse('questions-upload'),
                        'linkdes': 'Go back and upload the question again.'}
                return render(request, 'result.html', data)
Exemplo n.º 6
0
def add_question(request, pk):
    context = RequestContext(request)
    registered = False
    if request.method == 'POST':
        question_form = QuestionForm(data=request.POST, initial={'user': request.user, 'company': pk})
        if question_form.is_valid():
            question_form.instance.user = request.user
            question_form.instance.company = Company.objects.get(id=pk)
            question_form.save()
            registered = True
        else:
            print question_form.errors
    else:
        question_form = QuestionForm()
    return render(request, 'question/new.html', {
            'question_form': question_form, 'registered': registered})
Exemplo n.º 7
0
def question_create(request):
    if request.method == 'POST':
        question_form = QuestionForm(request.POST)
        if question_form.is_valid():
            question_post = question_form.save(commit=False)
            question_post.author = request.user
            question_post.save()
            tag_ids = request.POST.get('tags').split(',')
            print(tag_ids)
            for tag_id in tag_ids:
                if tag_id == None:
                    tag_id = 8
                question_tag = QuestionTag(tag_id=tag_id, question_id=question_post.id)
                question_tag.save()
            messages.success(
                request, f'Your question has been added!', extra_tags='success')
            return redirect('questions-home')
        else:
            messages.error(request, f'Something went wrong!',
                           extra_tags='danger')
    else:
        question_form = QuestionForm()
        context = {
            'question_form': question_form,
        }
    return render(request, 'questions/question_create.html', context)
Exemplo n.º 8
0
def question_create_view(request):
    """
    Show from for sending in a question
    """
    if request.method == 'POST':
        form = QuestionForm(request.POST, request.FILES, user=request.user)
        if form.is_valid():
            form.save()
            question_title = form.cleaned_data['title']
            question = get_object_or_404(Question, title=question_title, author=request.user)
            return render(request, 'questions/question-create.html',
                {'form': None, 'question': question})
    else:
        form = QuestionForm()
    return render(request, 'questions/question-create.html',
        {'form': form})
Exemplo n.º 9
0
 def test_question_creation_on_POST(self):
     course = Course.objects.create(name="Example name")
     data = {"name": "Example name", "category": "Examples", "question_text": "Example text"}
     form = QuestionForm(data=data)
     question = form.save(commit=False)
     question.course = course
     question.save()
     self.assertEqual(Question.objects.count(), 1)
Exemplo n.º 10
0
 def post(self, request):
     form = QuestionForm(self.request.POST, instance=self.question)
     if form.is_valid():
         self.question = form.save(commit=False)
         self.question.author = self.request.user
         self.question.save()
         return redirect('questions:question_detail', question_id=self.question.id)
     else:
         return render(request, 'questions/add_question.html', self.get_context(form))
Exemplo n.º 11
0
    def post(self, request, slug):
        question = Question.objects.get(pk=slug)
        question_form = QuestionForm(request.POST, prefix=slug, instance=question)
        choice_forms = [ChoiceLimitedForm(request.POST, prefix=choice.pk, instance=choice)
                        for choice in Choice.objects.filter(question=question)]
        if question_form.is_valid() and all(form.is_valid() for form in choice_forms):
            question_form.save()
            for form in choice_forms: form.save()

            reset_question(question)
            return redirect(request.POST['next'])
        else:
            kwargs = {'slug': slug}
            data = {'title': 'Failure',
                    'message': 'Question update failed.',
                    'link': reverse('questions-update', kwargs=kwargs),
                    'linkdes': 'Go back to update page.',}
            return render(request, 'result.html', data)
Exemplo n.º 12
0
def question_update(request, pk):
    question = Question.objects.get(id=pk)
    question_form = QuestionForm(instance=question)
    if request.method == 'POST':
        question_form = QuestionForm(request.POST, instance=question)
        if question_form.is_valid():
            # form = request.POST
            # print("form=",form,request.user.id)
            # question = Question.objects.get(id=pk)
            # print("done=done",question)
            question_form.save()
            messages.success(
            request, f'Your question has been updated!', extra_tags='success')
            return redirect('questions-detail', pk=pk)
        else:
            messages.error(request, f'Something went wrong!',
                           extra_tags='danger')

    return render(request, 'questions/question_edit.html', {'question_form':question_form})
Exemplo n.º 13
0
 def post(self, request, question_id):
     question = get_object_or_404(Question, id=question_id, author=self.request.user)
     form = QuestionForm(request.POST, instance=question)
     if form.is_valid():
         question = form.save()
         if question.is_archive == 0:
             return redirect('questions:question_detail', question_id=question.id)
         else:
             return redirect('questions:question_list')
     else:
         return render(request, 'questions/question_edit.html', self.get_context(form))
Exemplo n.º 14
0
def edit_question(request, pk_question, pk_meeting, pk_quiz):

    question = get_object_or_404(Question, pk=pk_question)
    question_form = QuestionForm(request.POST or None, instance=question)
    meeting = get_object_or_404(Meeting, pk=pk_meeting)
    quiz = get_object_or_404(Quiz, pk=pk_quiz)

    if question_form.is_valid():

        question_form.save()

        messages.success(request,
                         'Informações da Pergunta Alterada Com Sucesso!')
        return redirect('/ver_questionario/' + str(meeting.id) + '/' +
                        str(quiz.id))

    return render(request, 'questions/edit_question.html', {
        'question': question,
        'meeting': meeting,
        'quiz': quiz
    })
Exemplo n.º 15
0
 def test_question_updating(self):
     course = Course.objects.create(name="Example name")
     question = Question.objects.create(
         name="Example question", category="Examples", question_text="Text", course=course
     )
     data = {"name": "Example name", "category": "Examples", "question_text": "Changed text"}
     form = QuestionForm(instance=question, data=data)
     self.assertTrue(form.is_valid())
     question = form.save(commit=False)
     question.course = course
     question.save()
     self.assertEqual(question.question_text, "Changed text")
Exemplo n.º 16
0
def ask(request):
    if request.user.is_authenticated:
        if request.POST:
            form = QuestionForm(request.POST)
            if form.is_valid():
                question = form.save()
                return redirect('/')
        else:
            form= QuestionForm()
    else:
        return render(request,'questions/pageError.html')
    return render(request, 'questions/ask.html',{'form':form})
Exemplo n.º 17
0
def add_q(request):
    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            q = form.save(commit=False)
            q.adder = request.user
            q.save()
            return redirect_to_next(request, "my_questions")
    else:
        form = QuestionForm()
    return render_to_response("questions/add_q.html", {"form":form}, 
        context_instance=RequestContext(request))
Exemplo n.º 18
0
 def post(self, request):
     form = QuestionForm(request.POST)
     if form.is_valid():
         current_id = form.save(request.user)
         return HttpResponseRedirect('/question/' + str(current_id))
     else:
         response = TemplateResponse(
             request, 'ask.html', {
                 'title': 'amtrs - make a question',
                 'onpage_title': 'ask',
                 'form': form,
             })
         return response
Exemplo n.º 19
0
def ask_question(request):
    form = QuestionForm(request.POST or None)
    if form.is_valid():
        question = form.save(commit=False)
        question.user = request.user
        question.save()
        # messages.success(request, 'Question was Posted.')
        # return redirect(question.get_absolute_url())
        return redirect("/")
    context = {"form": form,
               "title": "Ask Question"
               }
    return render(request, "questions/ask.html", context)
Exemplo n.º 20
0
 def test_question_creation_on_POST(self):
     user = User.objects.create(username='******')
     course = Course.objects.create(name='Example name', owner=user)
     data = {
         'name': 'Example name',
         'category': 'Examples',
         'question_text': 'Example text'
     }
     form = QuestionForm(data=data)
     question = form.save(commit=False)
     question.course = course
     question.save()
     self.assertEqual(Question.objects.count(), 1)
Exemplo n.º 21
0
 def add_tag_to_question(request):
     questionform = QuestionForm(request.POST)
     if questionform.is_valid():
         question = questionform.save(commit=False)
         question.user_id = request.user.id
         question.save()
     tagform = SelectTagForm(request.POST)
     if tagform.is_valid():
         tags = tagform.cleaned_data.get('Tags')
         for tag_instance in tags:
             tag = get_object_or_404(Tag, pk=int(tag_instance))
             tag.question.add(question)
             tag.save()
Exemplo n.º 22
0
def handle_question_submission(request):
    form = QuestionForm(request.POST)
    if check_candidate(request):
        return redirect('questions:index')
    if Question.objects.filter(author__id=request.user.id).exclude(
            status='rejected').exists():
        return redirect('questions:index')
    if not form.is_valid():
        return show_questions(request, form)
    question = form.save(commit=False)
    question.author = request.user
    question.save()
    return redirect('questions:index')
Exemplo n.º 23
0
Arquivo: views.py Projeto: Pavit/qna
def submit(request):
    class BaseAnswerFormSet(BaseFormSet):
        def clean(self):
            blanks = []
            print "clean called"
            for i in range(0, self.total_form_count()):
                form = self.forms[i]
                try:
                    answer = form.cleaned_data['answer']
                    print "answer: %s" %answer
                except:
                    blanks.append(form)
                    print "found %s blanks" %len(blanks)
            if len(blanks) >= 4:
                raise forms.ValidationError("Must have at least two answer choices")


    AnswerFormSet = formset_factory(AnswerForm, max_num=5, extra = 5, formset = BaseAnswerFormSet)
    user = request.user.userprofile
    if request.method == 'POST': # If the form has been submitted...
        question_form = QuestionForm(request.POST) # A form bound to the POST data
        # Create a formset from the submitted data
        answer_formset = AnswerFormSet(request.POST, request.FILES)
        print "answer formset %s" %answer_formset
        print "non form errors %s" %answer_formset.non_form_errors()
        print "form errors %s" %answer_formset.errors
        if question_form.is_valid() and not any(answer_formset.non_form_errors()):
            question = question_form.save(commit=False)
            question.submitter = user
            question.save()
            for form in answer_formset.forms:
                try:
                    form.cleaned_data["answer"]
                    answer = form.save(commit=False)
                    answer.question = question
                    answer.save()
                    user.save()
                except:
                    pass
            return redirect('profile')
    else:
        question_form = QuestionForm()
        answer_formset = AnswerFormSet()
    c = {'question_form': question_form,
    'answer_formset': answer_formset,
    }
    c.update(csrf(request))
    return render_to_response('submit.html', c, context_instance = RequestContext(request))
Exemplo n.º 24
0
def newQuestion(request):
    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            q = form.save(request.user)
            return HttpResponseRedirect(
                reverse('questions:answer', kwargs={'qid': q.id}))
    else:
        form = QuestionForm()

    topMembers = UserImaged.objects.order_by('-rating').all()[:5]

    topTags = Tag.objects.get_popular_tags()

    context = {'form': form, 'topMembers': topMembers, 'topTags': topTags}
    return render(request, 'question/question.html', context)
Exemplo n.º 25
0
def create_question(request, course_id):
    ChoiceFormSet = modelformset_factory(Choice, ChoiceForm, extra=2)
    course = Course.objects.get(id=course_id)
    question_form = QuestionForm()
    choice_formset = ChoiceFormSet(queryset=Choice.objects.none())
    if request.method == 'POST':
        question_form = QuestionForm(data=request.POST)
        choice_formset = ChoiceFormSet(data=request.POST)
        if question_form.is_valid() and choice_formset.is_valid():
            question = question_form.save(commit=False)
            question.owner = request.user
            question.course = course
            question.save()
            for choice_form in choice_formset.forms:
                choice = choice_form.save(commit=False)
                choice.question = question
                choice.save()
            messages.success(request, 'Question created successfully!')
            return redirect('/courses/' + course_id + '/questions/')
    return render(request, 'create_question.html', {'form': question_form,
        'choice_formset': choice_formset, 'course': course })
Exemplo n.º 26
0
def create_question(request):
    if request.user.is_authenticated():
        form = QuestionForm(request.POST)

        if form.is_valid():
            new_question = form.save(commit=False)
            new_question.date = datetime.datetime.now()
            new_question.user = request.user
            new_question.save()

            tags = form.cleaned_data['tags']
            new_question.tags.clear()
            for tag in tags:
                new_question.tags.add(tag)

            new_question.save()
            return redirect('questions:show', question_id=new_question.id)
        else:
            return redirect('questions:new')
    else:
        return redirect('/')
Exemplo n.º 27
0
def create_question(request, reviewprogram_id, mocktest_id, mocktestsection_id,
                    mocktestsubsection_id):
    ChoiceFormSet = modelformset_factory(Choice, ChoiceForm, extra=4)
    reviewprogram = ReviewProgram.objects.get(id=reviewprogram_id)
    mocktest = MockTest.objects.get(id=mocktest_id)
    mocktestsection = MockTestSection.objects.get(id=mocktestsection_id)
    mocktestsubsection = MockTestSubSection.objects.get(
        id=mocktestsubsection_id)
    question_form = QuestionForm()
    question_form.fields[
        'mocktestsentence'].queryset = MockTestSentence.objects.filter(
            mocktestsubsection_id=mocktestsubsection)
    choice_formset = ChoiceFormSet(queryset=Choice.objects.none())
    if request.method == 'POST':
        question_form = QuestionForm(data=request.POST, files=request.FILES)
        choice_formset = ChoiceFormSet(data=request.POST, files=request.FILES)
        if question_form.is_valid() and choice_formset.is_valid():
            question = question_form.save(commit=False)
            question.mocktestsubsection = mocktestsubsection
            question.save()
            for choice_form in choice_formset.forms:
                choice = choice_form.save(commit=False)
                choice.question = question
                choice.save()
            messages.success(request, 'Question created successfully!')
            return redirect('/manage/' + reviewprogram_id + '/mocktests/' +
                            mocktest_id + '/sections/' + mocktestsection_id +
                            '/subsections/' + mocktestsubsection_id +
                            '/questions/create')
    return render(
        request, 'create_question.html', {
            'form': question_form,
            'choice_formset': choice_formset,
            'reviewprogram': reviewprogram,
            'mocktest': mocktest,
            'mocktestsection': mocktestsection,
            'mocktestsubsection': mocktestsubsection
        })
Exemplo n.º 28
0
def create_question(request, course_id):
    ChoiceFormSet = modelformset_factory(Choice, ChoiceForm, extra=2)
    course = Course.objects.get(id=course_id)
    question_form = QuestionForm()
    choice_formset = ChoiceFormSet(queryset=Choice.objects.none())
    if request.method == 'POST':
        question_form = QuestionForm(data=request.POST)
        choice_formset = ChoiceFormSet(data=request.POST)
        if question_form.is_valid() and choice_formset.is_valid():
            question = question_form.save(commit=False)
            question.course = course
            question.save()
            for choice_form in choice_formset.forms:
                choice = choice_form.save(commit=False)
                choice.question = question
                choice.save()
            messages.success(request, 'Question created successfully!')
            return redirect('/courses/' + course_id + '/questions/')
    return render(request, 'create_question.html', {
        'form': question_form,
        'choice_formset': choice_formset,
        'course': course
    })
Exemplo n.º 29
0
def ask(request):
	if request.method == "POST":
		question_form = QuestionForm(request.POST)
		question_form.save()
	return HttpResponseRedirect('/')
Exemplo n.º 30
0
def questionCreate(request):
    qf = QuestionForm(request.POST)
    new_question = qf.save()
    print(request.get_full_path())

    return HttpResponseRedirect('/')