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 | b36744b9fb5729315ca9ac92919ef8b315f8a3c8 (patch) | |
tree | 13ddb6d0e2a7b6e3d78aa8450ebc395b40fc97d1 /ishtar_common | |
parent | 6dcbeb525acec3b17ec24dfbb0ff4d4d6a797b6f (diff) | |
download | Ishtar-b36744b9fb5729315ca9ac92919ef8b315f8a3c8.tar.bz2 Ishtar-b36744b9fb5729315ca9ac92919ef8b315f8a3c8.zip |
Fix "history_creator" on duplicate
Diffstat (limited to 'ishtar_common')
-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 = [ |