def upload_submission(request): #if not request.user.has_perm('datastore.evaluation.add'): # return render_to_response('registration/not_authorized.html') if request.method == 'POST': form = UploadSubmissionForm(request.POST, request.FILES) if form.is_valid(): challenge=form.cleaned_data['challenge'] can_submit,past_count,total_allowance=check_challenge_timeout(request.user,challenge) if can_submit: uploaded_file=request.FILES['submission_file']; return do_upload_submission(request,form,uploaded_file); else: form._errors['challenge']=ErrorList(["You have %d submissions to %s in past %d days. You are not allowed to submit right now. Contact the organizers if you feel this is a mistake" %(past_count,challenge.name,challenge.limit_in_N_days)]); #return HttpResponseRedirect('/datastore/') else: form = UploadSubmissionForm() challenges_info=Challenge.objects.all() for c in challenges_info: can_submit,used_allowance,total_allowance = check_challenge_timeout(request.user,c); c.can_submit=can_submit c.used_allowance=used_allowance c.total_allowance=total_allowance return render_to_response('evaluation/upload_submission.html', {'form': form,'user':request.user,'challenges_info':challenges_info})
def upload_submission(request): #if not request.user.has_perm('datastore.evaluation.add'): # return render_to_response('registration/not_authorized.html') if request.method == 'POST': form = UploadSubmissionForm(request.POST, request.FILES) if form.is_valid(): challenge = form.cleaned_data['challenge'] can_submit, past_count, total_allowance = check_challenge_timeout( request.user, challenge) if can_submit: uploaded_file = request.FILES['submission_file'] return do_upload_submission(request, form, uploaded_file) else: form._errors['challenge'] = ErrorList([ "You have %d submissions to %s in past %d days. You are not allowed to submit right now. Contact the organizers if you feel this is a mistake" % (past_count, challenge.name, challenge.limit_in_N_days) ]) #return HttpResponseRedirect('/datastore/') else: form = UploadSubmissionForm() challenges_info = Challenge.objects.all() for c in challenges_info: can_submit, used_allowance, total_allowance = check_challenge_timeout( request.user, c) c.can_submit = can_submit c.used_allowance = used_allowance c.total_allowance = total_allowance return render_to_response('evaluation/upload_submission.html', { 'form': form, 'user': request.user, 'challenges_info': challenges_info })
def submit(request): team = request.user.team params = dict() if request.method == 'POST': form = UploadSubmissionForm(request.POST, request.FILES) params['form'] = form if form.is_valid(): submission = Submission( team=team, package=request.FILES['file'], user=request.user, ) submission.save() error = utils.unzip(submission.package.path) if error: submission.delete() params['error'] = error return render_submit(request, params) submissions = team.submission_set.all() if len(submissions) > 2: for sub in submissions[2:]: sub.delete() execute_tester(submission) messages.add_message(request, messages.INFO, _(u'Rozwiązanie zostało wysłane')) return redirect('my_results') #return my_results( # request, message=_(u'Rozwiązanie zostało wysłane.')) else: print form.errors return render_submit(request, params)