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))
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)
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)
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 })
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)
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})
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)
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})
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)
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))
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)
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})
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))
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 })
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")
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})
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))
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
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)
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)
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()
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')
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))
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)
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 })
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('/')
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 })
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 })
def ask(request): if request.method == "POST": question_form = QuestionForm(request.POST) question_form.save() return HttpResponseRedirect('/')
def questionCreate(request): qf = QuestionForm(request.POST) new_question = qf.save() print(request.get_full_path()) return HttpResponseRedirect('/')