fix&simplify lesson import form
authorJan Szejko <jan.szejko@gmail.com>
Mon, 6 Jun 2016 14:07:34 +0000 (16:07 +0200)
committerJan Szejko <jan.szejko@gmail.com>
Mon, 6 Jun 2016 14:07:34 +0000 (16:07 +0200)
catalogue/forms.py

index 834785f..84f2e43 100644 (file)
@@ -1,23 +1,12 @@
 # -*- coding: utf-8 -*-
-from django.forms import Form, FileField, CharField, ValidationError
+from django.forms import Form, CharField
 
+from librarian import IOFile
 from catalogue.models import Lesson
 
 
 class LessonImportForm(Form):
-    lesson_xml_file = FileField(required=False)
-    lesson_xml = CharField(required=False)
-
-    def clean(self):
-        from django.core.files.base import ContentFile
-
-        if not self.cleaned_data['lesson_xml_file']:
-            if self.cleaned_data['lesson_xml']:
-                self.cleaned_data['lesson_xml_file'] = \
-                    ContentFile(self.cleaned_data['lesson_xml'].encode('utf-8'))
-            else:
-                raise ValidationError(u"Proszę dostarczyć XML.")
-        return super(LessonImportForm, self).clean()
+    lesson_xml = CharField()
 
     def save(self, commit=True, **kwargs):
-        return Lesson.publish(self.cleaned_data['book_xml_file'])
+        return Lesson.publish(IOFile.from_string(self.cleaned_data['lesson_xml']))