X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/49e2be0521e11928d5f00378907e478d1bd703a4..281a6f613c78ffd1fa81951db829a5551fd2e42d:/apps/picture/forms.py diff --git a/apps/picture/forms.py b/apps/picture/forms.py index ad5096bf5..9d0c5a54b 100644 --- a/apps/picture/forms.py +++ b/apps/picture/forms.py @@ -6,9 +6,11 @@ from picture.models import Picture class PictureImportForm(forms.Form): picture_xml_file = forms.FileField(required=False) picture_xml = forms.CharField(required=False) - picture_image_file = forms.FileField(required=True) + picture_image_file = forms.FileField(required=False) + picture_image_data = forms.CharField(required=False) def clean(self): + from base64 import b64decode from django.core.files.base import ContentFile if not self.cleaned_data['picture_xml_file']: @@ -17,6 +19,15 @@ class PictureImportForm(forms.Form): ContentFile(self.cleaned_data['picture_xml'].encode('utf-8')) else: raise forms.ValidationError(_("Please supply an XML.")) + + if not self.cleaned_data['picture_image_file']: + if self.cleaned_data['picture_image_data']: + self.cleaned_data['picture_image_file'] = \ + ContentFile(b64decode( + self.cleaned_data['picture_image_data'])) + else: + raise forms.ValidationError(_("Please supply an image.")) + return super(PictureImportForm, self).clean() def save(self, commit=True, **kwargs):