summaryrefslogtreecommitdiff
path: root/chimere/forms.py
diff options
context:
space:
mode:
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
commitac02fb3af8f028cedda92a33f0957bbb712c9a21 (patch)
treedb5a34f60d58d1754e85e7c48aeb191f60a9ca8e /chimere/forms.py
parent58aba7b0661d51e98132e2ed1b726c865316b4a2 (diff)
downloadChimè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.py19
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