X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/e0ca24b203011b28d4fe07fb3c1c76f00fdea959..394b340d9aa9fdd1259e39febe95a8201ebc1cbf:/wtem/forms.py diff --git a/wtem/forms.py b/wtem/forms.py index 61e1d7c..fcce303 100644 --- a/wtem/forms.py +++ b/wtem/forms.py @@ -3,7 +3,7 @@ import os from django import forms from django.utils import simplejson -from .models import Submission, Attachment +from .models import Submission, Attachment, exercises class WTEMForm(forms.ModelForm): @@ -13,20 +13,19 @@ class WTEMForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(WTEMForm, self).__init__(*args, **kwargs) - - ## @@ move this one level up - f = file(os.path.dirname(__file__) + '/fixtures/exercises.json') - exercises = simplejson.loads(f.read()) - f.close() - for exercise in exercises: if exercise['type'] != 'file_upload': continue - self.fields['attachment_' + exercise['name']] = forms.FileField(required = False) + self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False) def save(self): submission = super(WTEMForm, self).save() - for file in self.files.values(): - attachment = Attachment(file = file, submission = submission) + for name, file in self.files.items(): + exercise_id = int(name.split('_')[-1]) + try: + attachment = Attachment.objects.get(submission = submission, exercise_id = exercise_id) + except Attachment.DoesNotExist: + attachment = Attachment(submission = submission, exercise_id = exercise_id) + attachment.file = file attachment.save()