Prechádzať zdrojové kódy

Insert into submissions table

raylu 14 rokov pred
rodič
commit
e54f15fade
2 zmenil súbory, kde vykonal 12 pridanie a 4 odobranie
  1. 6 2
      pyc/grader/models.py
  2. 6 2
      pyc/grader/views.py

+ 6 - 2
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):

+ 6 - 2
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', {