summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-05-21 18:36:19 +0200
committerÉtienne Loks <etienne.loks@proxience.com>2015-05-21 18:36:19 +0200
commitf8c2ecf2fe3aa78c64b2fa3b29979fe55e5636cf (patch)
tree39f67c955ac3fb43cd8b7909ed70cf1b1212d7c3
parent126affc426744c2d6afdce06a1eb807343c1c65a (diff)
downloadChimère-f8c2ecf2fe3aa78c64b2fa3b29979fe55e5636cf.tar.bz2
Chimère-f8c2ecf2fe3aa78c64b2fa3b29979fe55e5636cf.zip
Fix modified_since_import in imports
-rw-r--r--chimere/models.py7
-rw-r--r--chimere/utils.py2
2 files changed, 8 insertions, 1 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 74555ae..36a9e4b 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -466,7 +466,12 @@ class GeographicItem(models.Model):
if not _set:
new_keys += '%s:%s;' % (key, value)
self.import_key = new_keys
+ modified_since_import = self.modified_since_import
self.save()
+ # preserve modified_since_import
+ if modified_since_import != self.modified_since_import:
+ self.modified_since_import = modified_since_import
+ self.save()
def has_modified(self):
if (self.ref_item and self.ref_item != self) \
@@ -747,7 +752,7 @@ def geometry_post_save(pre_save_geom_values):
instance.save()
return geom_post_save
def marker_post_save(sender, **kwargs):
- if not kwargs['instance']:
+ if not kwargs['instance'] or kwargs['created']:
return
geometry_post_save(pre_save_marker_values)(sender, **kwargs)
post_save.connect(marker_post_save, sender=Marker)
diff --git a/chimere/utils.py b/chimere/utils.py
index 55fc45c..5b34e9c 100644
--- a/chimere/utils.py
+++ b/chimere/utils.py
@@ -131,6 +131,8 @@ class ImportManager(object):
values['has_associated_marker'] = False
try:
item = cls.objects.create(**values)
+ item.modified_since_import = False
+ item.save()
except TypeError:
# error on data source
return None, False, False