summaryrefslogtreecommitdiff
path: root/ishtar_common/utils.py
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
commit623258d0f9348be064d02c2b5ef4fc70e535951c (patch)
tree13ddb6d0e2a7b6e3d78aa8450ebc395b40fc97d1 /ishtar_common/utils.py
parent5b7533b78e9db1d77d496f8395056637a3964d92 (diff)
downloadIshtar-623258d0f9348be064d02c2b5ef4fc70e535951c.tar.bz2
Ishtar-623258d0f9348be064d02c2b5ef4fc70e535951c.zip
Fix "history_creator" on duplicate
Diffstat (limited to 'ishtar_common/utils.py')
-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 = [