summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorraylu <raylu@cmu.edu>2011-05-12 23:01:42 -0400
committerraylu <raylu@cmu.edu>2011-05-12 23:01:42 -0400
commite54f15fade6384eeca397df1e4e4a2353919eb9b (patch)
tree56ea2524088d70c58048f7696846c59d69b54f05
parent25167a7fa5adc08c3bbf79c730d6a0bb45e50efb (diff)
downloadpyc-e54f15fade6384eeca397df1e4e4a2353919eb9b.tar.xz
Insert into submissions table
-rw-r--r--pyc/grader/models.py8
-rw-r--r--pyc/grader/views.py8
2 files changed, 12 insertions, 4 deletions
diff --git a/pyc/grader/models.py b/pyc/grader/models.py
index bf92598..ba19e03 100644
--- a/pyc/grader/models.py
+++ b/pyc/grader/models.py
@@ -8,10 +8,14 @@ class Lab(models.Model):
class Submission(models.Model):
from django.contrib.auth.models import User
+ def upload_filename(instance, filename):
+ from time import time
+ return "%d-%d.%d" % (instance.lab.id, instance.user.id, int(time()))
lab = models.ForeignKey(Lab)
user = models.ForeignKey(User)
- time = models.DateTimeField()
- grade = models.IntegerField()
+ time = models.DateTimeField(auto_now_add=True)
+ file = models.FileField(upload_to=upload_filename)
+ grade = models.IntegerField(null=True)
class Meta:
unique_together = (('lab', 'user'),)
def __unicode__(self):
diff --git a/pyc/grader/views.py b/pyc/grader/views.py
index 21ea22f..4f81309 100644
--- a/pyc/grader/views.py
+++ b/pyc/grader/views.py
@@ -1,7 +1,7 @@
from django.shortcuts import render_to_response
from django.template import RequestContext
-from grader.models import Lab
+from grader.models import Lab, Submission
def index(request):
return render_to_response('index.html', {
@@ -24,7 +24,11 @@ def submit(request, lab_id):
if request.method == 'POST':
form = SubmissionForm(request.POST, request.FILES)
if form.is_valid():
- return HttpResponseRedirect('/user/1/')
+ labobj = Lab.objects.get(pk=lab_id)
+ rfile = request.FILES['file']
+ submission = Submission(lab=labobj, user=request.user, file=rfile)
+ submission.save()
+ return HttpResponseRedirect("/lab/%s/" % lab_id)
else:
form = SubmissionForm()
return render_to_response('submit.html', {