summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-07-28 12:55:45 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-07-29 11:19:51 +0200
commitb36744b9fb5729315ca9ac92919ef8b315f8a3c8 (patch)
tree13ddb6d0e2a7b6e3d78aa8450ebc395b40fc97d1 /ishtar_common
parent6dcbeb525acec3b17ec24dfbb0ff4d4d6a797b6f (diff)
downloadIshtar-b36744b9fb5729315ca9ac92919ef8b315f8a3c8.tar.bz2
Ishtar-b36744b9fb5729315ca9ac92919ef8b315f8a3c8.zip
Fix "history_creator" on duplicate
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/utils.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index fa24b3dcb..ed183e4d1 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -811,9 +811,10 @@ def _post_save_geo(sender, **kwargs):
new_point = GEOSGeometry(
"POINT({} {})".format(instance.x, instance.y), srid=csrs.srid
)
- proj_point = instance.point_2d.transform(csrs.srid, clone=True)
- if new_point.distance(proj_point) < 0.01:
- instance.x, instance.y = None, None
+ if instance.point_2d:
+ proj_point = instance.point_2d.transform(csrs.srid, clone=True)
+ if new_point.distance(proj_point) < 0.01:
+ instance.x, instance.y = None, None
instance.point, instance.point_2d = None, None
instance.point_source = None
@@ -2042,6 +2043,12 @@ def duplicate_item(item, user=None, data=None):
for k in data:
setattr(new, k, data[k])
new.save()
+ if hasattr(user, "user_ptr"):
+ if hasattr(new, "history_creator"):
+ new.history_creator = user.user_ptr
+ if hasattr(new, "history_modifier"):
+ new.history_modifier = user.user_ptr
+ new.save()
# m2m fields
m2m = [