diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-06-07 14:11:49 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-06-07 14:11:49 +0200 |
commit | d3ca19836857031289a10d2aed8e5794c11f63cc (patch) | |
tree | 2c4b3245d20848c43fba4dac264578ee37aa9920 /chimere/main/models.py | |
parent | 494b96ec210a9eefa00fbabc499d4ed240580ab3 (diff) | |
download | Chimère-d3ca19836857031289a10d2aed8e5794c11f63cc.tar.bz2 Chimère-d3ca19836857031289a10d2aed8e5794c11f63cc.zip |
Add automaticaly a begin POI for new route (closes #300)
Better management of properties saving.
Diffstat (limited to 'chimere/main/models.py')
-rw-r--r-- | chimere/main/models.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/chimere/main/models.py b/chimere/main/models.py index 198b837..40204d1 100644 --- a/chimere/main/models.py +++ b/chimere/main/models.py @@ -257,6 +257,32 @@ Format YYYY-MM-DD")) properties.append(property) return properties + def saveProperties(self, values): + """ + Save properties + """ + for propertymodel in PropertyModel.objects.filter(available=True): + properties = Property.objects.filter(marker=self, + propertymodel=propertymodel).all() + # in case of multiple edition as the same time delete arbitrary + # the others + if len(properties) > 1: + for property in properties[1:]: + property.delete() + val = u"" + if unicode(propertymodel.id) in values: + val = values[unicode(propertymodel.id)] + # new property + if not properties: + new_property = Property.objects.create(marker=self, + propertymodel=propertymodel, + value=val) + new_property.save() + else: + property = properties[0] + property.value = val + property.save() + def getGeoJSON(self, categories_id=[]): '''Return a GeoJSON string ''' |