diff options
-rw-r--r-- | pyc/grader/views.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/pyc/grader/views.py b/pyc/grader/views.py index 5b0f2a3..7e36eef 100644 --- a/pyc/grader/views.py +++ b/pyc/grader/views.py @@ -11,8 +11,7 @@ def index(request): def lab(request, lab_id): lab = Lab.objects.get(pk=lab_id) - #submissions = lab.submission_set.filter(user__is_staff=False).order_by('-grade', '-time') - submissions = lab.submission_set.order_by('-grade', '-time') + submissions = lab.submission_set.filter(user__is_staff=False).order_by('-grade', '-time') return render_to_response('lab.html', { 'lab' : lab, 'submissions' : submissions, @@ -23,6 +22,9 @@ from django.contrib.auth.decorators import login_required def submit(request, lab_id): from django.http import HttpResponseRedirect from django.db import IntegrityError + from django.conf import settings + import os + if request.method == 'POST': form = SubmissionForm(request.POST, request.FILES) if form.is_valid(): @@ -34,8 +36,10 @@ def submit(request, lab_id): except IntegrityError: # already exists submission = Submission.objects.get(lab__exact=lab_id, user__exact=request.user) + if submission.file: + os.unlink(os.path.join(settings.MEDIA_ROOT, submission.file.name)) submission.file = rfile - submission.save() + submission.save() # this moves the file to MEDIA_ROOT score, err = grade(submission.file.name, lab_id) try: score = int(score) @@ -44,6 +48,7 @@ def submit(request, lab_id): if score > submission.grade: submission.grade = score submission.save() + return render_to_response('submit.html', { 'err' : err, 'score' : score, |