summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commitbf1076a75b3e2709f62efce248886065c1961498 (patch)
treef079c8f8d143d0579ffa9f2fc3d22e1274ea4b26
parent38c579e2141d15aff342af99020a64a5e0245d4d (diff)
downloadChimère-bf1076a75b3e2709f62efce248886065c1961498.tar.bz2
Chimère-bf1076a75b3e2709f62efce248886065c1961498.zip
Fix admin save for non available properties
-rw-r--r--chimere/forms.py15
-rw-r--r--chimere/models.py7
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)]