summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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