diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-07-06 11:41:33 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-07-06 11:41:33 +0200 |
commit | bf1076a75b3e2709f62efce248886065c1961498 (patch) | |
tree | f079c8f8d143d0579ffa9f2fc3d22e1274ea4b26 | |
parent | 38c579e2141d15aff342af99020a64a5e0245d4d (diff) | |
download | Chimère-bf1076a75b3e2709f62efce248886065c1961498.tar.bz2 Chimère-bf1076a75b3e2709f62efce248886065c1961498.zip |
Fix admin save for non available properties
-rw-r--r-- | chimere/forms.py | 15 | ||||
-rw-r--r-- | chimere/models.py | 7 |
2 files changed, 13 insertions, 9 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 2b1c35f..1af454b 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -20,6 +20,7 @@ """ Forms """ + import collections from django import forms @@ -149,9 +150,9 @@ class ContactForm(forms.Form): class SubCategoryAdminForm(forms.ModelForm): - ''' + """ Add a tinyMCE widget to fill description - ''' + """ description = forms.CharField(widget=FullTextareaWidget, required=False) class Meta: @@ -219,10 +220,10 @@ class ImporterAdminForm(forms.ModelForm): exclude = [] def clean(self): - ''' + """ Verify that only one type of source is provided Verify that shapefiles are zipped - ''' + """ if self.cleaned_data.get('importer_type') == 'OSM' and \ not self.cleaned_data.get('filtr'): raise forms.ValidationError( @@ -437,7 +438,7 @@ class MarkerAdminFormBase(forms.ModelForm): properties = dict( [(k.split('_')[-1], self.cleaned_data[k]) for k in self.cleaned_data.keys() if k.startswith('property_')]) - new_marker.saveProperties(properties) + new_marker.saveProperties(properties, is_admin=self.is_admin) return new_marker @@ -803,9 +804,9 @@ class AreaAdminForm(forms.ModelForm): super(AreaAdminForm, self).__init__(*args, **keys) def clean(self): - ''' + """ Verify that the area is not empty - ''' + """ if not self.cleaned_data.get('upper_left_lat') \ and not self.cleaned_data.get('upper_left_lon') \ and not self.cleaned_data.get('lower_right_lat') \ diff --git a/chimere/models.py b/chimere/models.py index 452fc63..4bbe1bc 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -779,11 +779,14 @@ class GeographicItem(models.Model): property.value = value property.save() - def saveProperties(self, values): + def saveProperties(self, values, is_admin=False): """ Save properties """ - for propertymodel in PropertyModel.objects.filter(available=True): + q = PropertyModel.objects + if not is_admin: + q = q.filter(available=True) + for propertymodel in q.all(): val = "" if str(propertymodel.id) in values: val = values[str(propertymodel.id)] |