diff options
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 |
commit | 623258d0f9348be064d02c2b5ef4fc70e535951c (patch) | |
tree | 13ddb6d0e2a7b6e3d78aa8450ebc395b40fc97d1 /ishtar_common/utils.py | |
parent | 5b7533b78e9db1d77d496f8395056637a3964d92 (diff) | |
download | Ishtar-623258d0f9348be064d02c2b5ef4fc70e535951c.tar.bz2 Ishtar-623258d0f9348be064d02c2b5ef4fc70e535951c.zip |
Fix "history_creator" on duplicate
Diffstat (limited to 'ishtar_common/utils.py')
-rw-r--r-- | ishtar_common/utils.py | 13 |
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 = [ |