def upload(request):
	if request.POST:
		form = SubmissionForm(request.POST, request.FILES)
		if form.is_valid():
			form.save()

			return HttpResponseRedirect('/view_personal')
		else:
			form = SubmissionForm('/view_personal')

		args = {}
	args.update(csrf(request))

	args['form'] = form

	return render_to_response('personal_submission_view.html',args)
def create(request):
    if SUBMISSION_END < datetime.datetime.now():
        raise Http404
    context = {
            'user': request.user,
            'rule': render_document(Node(nid=settings.SUBMISSION_RULE_DOCID).model.current_revision.text.text)
            }

    if request.POST.get('submit'):
        sub = SubmissionForm(request.POST, request.FILES)

        if sub.is_valid():
            submission = sub.save(commit=False)
            submission.user = request.user
            submission.save()

            for f in request.FILES.getlist('slide'):
                form = SubmissionFileForm().save(commit=False)
                form.submission = submission
                form.file = f
                form.save()

            return redirect('submission:list')
        else:
            pass

    return render(request, 'submission/create.html', context)
Exemple #3
0
def submit_for_problem(request, id):
    user = request.user
    if not user.participant.competition.in_progress():
        return HttpResponseNotAllowed("Competition not in progress.")

    form = SubmissionForm(request.POST, request.FILES)
    if form.is_valid():
        submission = form.save(commit=False)
        submission.competition = user.participant.competition
        submission.participant = user.participant
        submission.problem = get_object_or_404(Problem, pk=id)
        submission.save()

        return redirect('/',
                        context_instance=RequestContext(request))
    else:
        return redirect('/',
                        {"form": form},
                        context_instance=RequestContext(request))
def edit(request, submission_id):
    if SUBMISSION_END < datetime.datetime.now():
        instance = get_object_or_404(Submission, id=submission_id, user=request.user)
        if instance.status!='E':
            raise Http404
    elif request.user.has_perm('submission.review'):
        instance = get_object_or_404(Submission, id=submission_id)
    else:
        instance = get_object_or_404(Submission, id=submission_id, user=request.user)

    if request.POST.get('submit'):
        if request.FILES:
            submission = SubmissionForm(request.POST, request.FILES, instance=instance)
        else:
            submission = SubmissionForm(request.POST, instance=instance)

        if submission.is_valid():

            sub = submission.save()

            if request.FILES.getlist('slide'):

                for f in sub.files.all():
                    f.file.delete()
                    f.delete()

                for f in request.FILES.getlist('slide'):
                    form = SubmissionFileForm().save(commit=False)
                    form.submission = sub
                    form.file = f
                    form.save()

            return redirect('submission:list')
        else:
            pass

    context = {
            'user': request.user,
            'rule': render_document(Node(nid=settings.SUBMISSION_RULE_DOCID).model.current_revision.text.text),
            'submission': instance,
            }

    return render(request, 'submission/edit.html', context)