def test_all_details_submitted(self): form_instance = PostQuestionForm( data={ "title": "Sample Title", "category": self.cat, "short_description": "Sample Short Description", "description": "Sample Description", "time_limit": 2, "unique_code": "samques001", "constraints": "Sample constraints", "input_format": "sample inp format", "output_format": "sample_output_format", "sample_input": "Sample Input", "sample_output": "Sample Output" }) self.assertEqual(form_instance.is_valid(), True) question = form_instance.save(commit=False) question.author = self.user question.save() model_instance = Question.objects.get(unique_code="samques001") self.assertEqual(model_instance.title, "Sample Title") self.assertEqual(model_instance.short_description, "Sample Short Description") self.assertEqual(model_instance.description, "Sample Description") self.assertEqual(model_instance.time_limit, 2.0) self.assertEqual(model_instance.constraints, "Sample constraints") self.assertEqual(model_instance.input_format, "sample inp format") self.assertEqual(model_instance.output_format, "sample_output_format") self.assertEqual(model_instance.sample_input, "Sample Input") self.assertEqual(model_instance.sample_output, "Sample Output")
def contest_question_create(request, contest_unique_id=None): contest_id = get_object_or_404(Contest, unique_code=contest_unique_id) if (contest_id.author != request.user): return PermissionDenied("You can not post question in this contest!") if (request.method == "POST"): form = PostQuestionForm(request.POST) contest_question_points = ContestQuestionForm(request.POST) if form.is_valid() and contest_question_points.is_valid(): question = form.save(commit=False) question.author = request.user question.active = False question.save() contest_question = contest_question_points.save(commit=False) contest_question.contest = contest_id contest_question.question = question contest_question.save() return redirect('questions:view_the_question', question.unique_code) else: form = PostQuestionForm() contest_question_points = ContestQuestionForm() context = { 'form': form, 'cq': contest_question_points, } return render(request, 'contests/create_contest_question.html', context)
def contest_question_edit(request, contest_unique_id, question_unique_id): question_instance = get_object_or_404(Question, unique_code=question_unique_id) contest_instance = get_object_or_404(Contest, unique_code=contest_unique_id) instance = get_object_or_404(ContestQuestion, question=question_instance, contest=contest_instance) form = PostQuestionForm(request.POST or None, instance=question_instance, initial={"category": question_instance.category}) contest_question_points = ContestQuestionForm(request.POST or None, instance=instance) if form.is_valid() and contest_question_points.is_valid(): points = contest_question_points.cleaned_data["points"] contest_question_form = form.save(commit=False) contest_question_form.save() contest_question_points.save() return redirect('questions:view_the_question', question_instance.unique_code) context = {'form': form, 'cq': contest_question_points} return render(request, "contests/create_contest_question.html", context)