diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-14 16:55:22 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-14 16:55:22 +0200 |
commit | ea65e5512c236b81e7f4b8757521facadae4b3b8 (patch) | |
tree | 739cdf40fb6a89de90c4189936d695288a82849f /chimere/forms.py | |
parent | 4b0f0777c434f5fa1366ca408c34d257d4833fad (diff) | |
parent | a55f77a246f99764ff6289686f80825526654e2b (diff) | |
download | Chimère-ea65e5512c236b81e7f4b8757521facadae4b3b8.tar.bz2 Chimère-ea65e5512c236b81e7f4b8757521facadae4b3b8.zip |
Merge branch 'master' into saclay
Conflicts:
chimere/admin.py
chimere/fixtures/initial_data.json
chimere/forms.py
chimere/locale/fr/LC_MESSAGES/django.po
chimere/models.py
chimere/static/chimere/css/styles.css
chimere/templates/chimere/detail.html
chimere/templatetags/chimere_tags.py
chimere/views.py
chimere/widgets.py
Diffstat (limited to 'chimere/forms.py')
-rw-r--r-- | chimere/forms.py | 50 |
1 files changed, 44 insertions, 6 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index b584f4f..8ce9ad2 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -36,7 +36,8 @@ from chimere.models import Marker, Route, PropertyModel, Property, Area,\ PictureFile, Importer, PropertyModelChoice, IFRAME_LINKS, \ MultimediaExtension, Page from chimere.widgets import AreaField, PointField, TextareaWidget, \ - FullTextareaWidget, DatePickerWidget, ButtonSelectWidget, NominatimWidget + FullTextareaWidget, DatePickerWidget, ButtonSelectWidget, NominatimWidget, \ + TextareaAdminWidget from datetime import timedelta, datetime, tzinfo @@ -113,7 +114,7 @@ class NewsAdminForm(forms.ModelForm): """ Main form for news """ - content = forms.CharField(widget=FullTextareaWidget) + content = forms.CharField(widget=TextareaAdminWidget) class Meta: model = News @@ -125,11 +126,31 @@ 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'] and \ + self.cleaned_data['importer_type'] != 'OSM': + 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 """ - description = forms.CharField(widget=TextareaWidget, required=False) + description = forms.CharField(widget=TextareaAdminWidget, required=False) class Media: js = list(settings.JQUERY_JS_URLS) + [ '%schimere/js/menu-sort.js' % settings.STATIC_URL, @@ -141,7 +162,7 @@ class MarkerAdminFormBase(forms.ModelForm): """ Main form for marker """ - description = forms.CharField(widget=TextareaWidget, required=False) + description = forms.CharField(widget=TextareaAdminWidget, required=False) class Meta: model = Marker @@ -246,6 +267,7 @@ class MarkerForm(MarkerBaseForm): """ ref_pk = forms.IntegerField(label=u" ", widget=forms.HiddenInput(), required=False) + description = forms.CharField(widget=TextareaWidget, required=False) class Meta: model = Marker exclude = ('status',) @@ -348,7 +370,6 @@ class RouteForm(RouteAdminForm): new_marker.saveProperties(properties) return new_route - class BaseFileForm(forms.ModelForm): id = forms.IntegerField(label=u"", widget=forms.HiddenInput(), required=False) @@ -383,6 +404,14 @@ class BaseFileForm(forms.ModelForm): else: instance = self._meta.model.objects.create(**self.cleaned_data) +class MultimediaFileAdminForm(forms.ModelForm): + class Meta: + model = MultimediaFile + class Media: + js = list(settings.JQUERY_JS_URLS) + [ + '%schimere/js/menu-sort.js' % settings.STATIC_URL, + ] + class MultimediaFileForm(BaseFileForm): """ Form for a multimedia file @@ -425,6 +454,14 @@ class MultimediaFileForm(BaseFileForm): MultimediaFileFormSet = formset_factory(MultimediaFileForm, can_delete=True) +class PictureFileAdminForm(forms.ModelForm): + class Meta: + model = PictureFile + class Media: + js = list(settings.JQUERY_JS_URLS) + [ + '%schimere/js/menu-sort.js' % settings.STATIC_URL, + ] + class PictureFileForm(BaseFileForm): """ Form for a picture file @@ -459,7 +496,8 @@ class AreaAdminForm(forms.ModelForm): Admin page to create an area """ area = AreaField(label=_("Area"), fields=(PointField(), PointField())) - welcome_message = forms.CharField(widget=TextareaWidget, required=False) + welcome_message = forms.CharField(widget=TextareaAdminWidget, + required=False) class Meta: model = Area |