X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/72c2bc927df348a3472a627f27af89f4f29c279d..7755781ba4e07a613fed6288ea6eef02d83b3e4d:/wtem/forms.py?ds=sidebyside diff --git a/wtem/forms.py b/wtem/forms.py index c0da211..8cdfe79 100644 --- a/wtem/forms.py +++ b/wtem/forms.py @@ -1,9 +1,10 @@ import os +import re 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,12 +14,6 @@ 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 @@ -27,11 +22,13 @@ class WTEMForm(forms.ModelForm): def save(self): submission = super(WTEMForm, self).save() for name, file in self.files.items(): - exercise_id = int(name.split('_')[-1]) + m = re.match(r'attachment_for_(\d+)(?:__(.*))?', name) + exercise_id = int(m.group(1)) + tag = m.group(2) or None try: - attachment = Attachment.objects.get(submission = submission, exercise_id = exercise_id) + attachment = Attachment.objects.get(submission = submission, exercise_id = exercise_id, tag=tag) except Attachment.DoesNotExist: - attachment = Attachment(fsubmission = submission, exercise_id = exercise_id) + attachment = Attachment(submission = submission, exercise_id = exercise_id, tag=tag) attachment.file = file attachment.save()