示例#1
0
文件: views.py 项目: a62625536/qaqoj
def submitProblem(request):
    problem_id = request.GET.get('problem_id')
    try:  #判断目标问题是否存在
        problem = Problem.objects.get(id=problem_id)
    except:
        return redirect('/problems')
    if not request.user.is_authenticated:  #用户未登录
        return redirect('/login')
    else:  #用户已登录
        if not problem.visible and not request.user.is_staff:  #问题不可见且用户不是管理员
            return redirect('/problems')
        else:  #问题可见或用户是管理员
            if request.method == "POST":  #POST请求
                submission = Submission()
                submission.myuser = MyUser.objects.get(user_id=request.user.id)
                submission.problem = problem
                submission.language = request.POST.get('language')
                submission.code = request.POST.get('code')
                submission.myuser.sub_num += 1
                problem.sub_num += 1
                submission.myuser.save()
                problem.save()
                submission.save()
                test_submission.delay(submission.id)
                return redirect('/status')
            else:  #GET请求
                return render(request, 'problem_submit.html')
示例#2
0
文件: views.py 项目: sijiac/BOJ-V4
    def form_valid(self, form):
        self.object = form.save(commit=False)
        sub = Submission()
        sub.code = form.cleaned_data['submission__code']
        sub.language = form.cleaned_data['submission__language']
        sub.user = self.request.user
        sub.problem = self.object.problem.problem
        sub.save()
        sub.judge()
        self.object.submission = sub
        self.object.save()
        # self.object.user = self.request.user

        messages.add_message(self.request, messages.SUCCESS,
                             _('Submit Success'))
        return super(SubmissionCreateView, self).form_valid(form)
示例#3
0
文件: judge.py 项目: Mr-Phoebe/BOJ-V4
def submit_handler(message):
    print 'submit=================',  message.body
    try:
        mp = json.loads(message.body)
        s = ContestSubmission()
        s.problem = ContestProblem.objects.get(pk=int(mp['problem']))
        sub = Submission()
        sub.code = mp['code']
        sub.language = mp['language']
        sub.problem = s.problem.problem
        sub.user = User.objects.get(pk=int(mp['user']))
        sub.save()
        s.submission = sub
        s.save()
        sub.judge()
    except Exception as ex:
        print ex
    return True