diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-04 18:29:51 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-04 18:29:51 +0200 |
commit | ac02fb3af8f028cedda92a33f0957bbb712c9a21 (patch) | |
tree | db5a34f60d58d1754e85e7c48aeb191f60a9ca8e /chimere/forms.py | |
parent | 58aba7b0661d51e98132e2ed1b726c865316b4a2 (diff) | |
download | Chimère-ac02fb3af8f028cedda92a33f0957bbb712c9a21.tar.bz2 Chimère-ac02fb3af8f028cedda92a33f0957bbb712c9a21.zip |
Import: Allow import from uploaded files
Diffstat (limited to 'chimere/forms.py')
-rw-r--r-- | chimere/forms.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index eccc7c5..a8aa824 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -105,6 +105,25 @@ class ImporterAdminForm(forms.ModelForm): 'filtr': forms.TextInput(attrs={'size': 80}), } + def clean(self): + ''' + Verify that only one type of source is provided + Verify that shapefiles are zipped + ''' + if self.cleaned_data['importer_type'] == 'SHP' and \ + not self.cleaned_data['zipped']: + raise forms.ValidationError(_(u"Shapefiles must be provided in a "\ + u"zipped archive.")) + if self.cleaned_data['source'] and \ + self.cleaned_data['source_file']: + raise forms.ValidationError(_(u"You have to set \"source\" or " + u"\"source file\" but not both.")) + if not self.cleaned_data['source'] and \ + not self.cleaned_data['source_file']: + raise forms.ValidationError(_(u"You have to set \"source\" or " + u"\"source file\".")) + return self.cleaned_data + class CategoryAdminForm(forms.ModelForm): """ Main form for categories |