X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/a87786b8abce90bf32e1950b7fe2ea41ccf52ad5..4a120e818b73377689be8712e174c95a7b87008b:/wtem/forms.py?ds=sidebyside diff --git a/wtem/forms.py b/wtem/forms.py index fcce303..504fd26 100644 --- a/wtem/forms.py +++ b/wtem/forms.py @@ -1,4 +1,5 @@ import os +import re from django import forms from django.utils import simplejson @@ -18,14 +19,16 @@ class WTEMForm(forms.ModelForm): continue self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False) - def save(self): - submission = super(WTEMForm, self).save() + def save(self, commit=True): + submission = super(WTEMForm, self).save(commit=commit) 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(submission = submission, exercise_id = exercise_id) + attachment = Attachment(submission = submission, exercise_id = exercise_id, tag=tag) attachment.file = file attachment.save()