X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/fd65827f7d34921b927dfd735099b0690aa3a2df..56fdd60e7a54f19cd9fc10db475688a557ed7df7:/wtem/forms.py?ds=sidebyside diff --git a/wtem/forms.py b/wtem/forms.py index 8cdfe79..ae406a3 100644 --- a/wtem/forms.py +++ b/wtem/forms.py @@ -1,8 +1,7 @@ -import os +# -*- coding: utf-8 -*- import re from django import forms -from django.utils import simplejson from .models import Submission, Attachment, exercises @@ -17,18 +16,17 @@ class WTEMForm(forms.ModelForm): for exercise in exercises: if exercise['type'] != 'file_upload': continue - self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False) + self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required=False) - def save(self): - submission = super(WTEMForm, self).save() - for name, file in self.files.items(): + def save(self, commit=True): + submission = super(WTEMForm, self).save(commit=commit) + for name, attachment_file in self.files.items(): 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, tag=tag) + attachment = Attachment.objects.get(submission=submission, exercise_id=exercise_id, tag=tag) except Attachment.DoesNotExist: - attachment = Attachment(submission = submission, exercise_id = exercise_id, tag=tag) - attachment.file = file + attachment = Attachment(submission=submission, exercise_id=exercise_id, tag=tag) + attachment.file = attachment_file attachment.save() -