def view_clarification(request): refresh_contest_session_contestant(request) # refersh the contest session current_contest_id = request.session.get('active_contest_contestant') try: current_contest = Contest.objects.get(pk=current_contest_id, active_time__lte=timezone.now(), enable=True) except Contest.DoesNotExist: current_contest = None all_clarification = Clarification.objects.filter(contest=current_contest, user=request.user, status=True).order_by('send_time').reverse() |\ Clarification.objects.filter( contest=current_contest, is_public=True, status=True).order_by('send_time').reverse() for cla in all_clarification: if len(cla.question) > 60: cla.short_question = cla.question[:60] + ' ...' else: cla.short_question = cla.question if len(cla.answer) > 60: cla.short_answer = cla.answer[:60] + ' ...' else: cla.short_answer = cla.answer all_clarification, paginator = pagination(request, all_clarification) context = { 'all_clarification': all_clarification, 'paginator': paginator, 'clar': 'hover' } return render(request, 'view_clarification.html', context)
def request_clarification(request): refresh_contest_session_contestant(request) # refersh the contest session current_contest_id = request.session.get('active_contest_contestant') problem_list = None try: current_contest = Contest.objects.get(pk=current_contest_id, active_time__lte=timezone.now(), enable=True) except Contest.DoesNotExist: current_contest = None if current_contest: problem_list = current_contest.problem.all().order_by('title') if request.method == "POST": form = ClarificationRequest(request.POST) form.fields['problem'].queryset = problem_list if form.is_valid(): post = form.save(commit=False) post.send_time = timezone.now() post.user = request.user post.contest = current_contest post.save() return redirect('request_clarification') else: form = ClarificationRequest() form.fields['problem'].queryset = problem_list else: form = None all_clarification = Clarification.objects.filter( contest=current_contest, user=request.user).order_by('send_time').reverse() for cla in all_clarification: if len(cla.question) > 100: cla.short_question = cla.question[:100] + ' ...' else: cla.short_question = cla.question all_clarification, paginator = pagination(request, all_clarification) context = { 'form': form, 'all_clarification': all_clarification, 'paginator': paginator, 'clar': 'hover' } return render(request, 'clarification_request.html', context)