def addRecord(request, cid): try: u = User.getSessionUser(request.session) if not u: raise Err(request, err='not login') c = Contest.getById(cid) try: c.canBeManaged(u) except: raise Err(request, err='no priv') cp = c.getContestProblem() if request.method == 'POST': form = ChooseProbForm(cp, request.POST) if form.is_valid(): Cheat.addRecord(cp_set=form.cleaned_data['contest_problem']) Cheat.antiCheat() return redirect('Cheat:show_cheat_result', cid=c.cid) else: raise Err(request, err='unknown err') else: form = ChooseProbForm(cp) return render(request, 'newtpl/cheat/addRecord.html', {'tpl':{'sp':True,}, 'contest':c, 'form':form,}) except Exception as e: return render(request, Err.ERROR_PAGE)
def addRecord2(request, cid): try: u = User.getSessionUser(request.session) if not u: raise Err(request, err='not login') c = Contest.getById(cid) try: c.canBeManaged(u) except: raise Err(request, err='no priv') cp = c.getContestProblem() Cheat.addRecord(cp_set=cp) Cheat.antiCheat() return redirect('Cheat:show_cheat_result', cid=c.cid) except Exception as e: return render(request, Err.ERROR_PAGE)