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 /archaeological_finds | |
parent | 6dcbeb525acec3b17ec24dfbb0ff4d4d6a797b6f (diff) | |
download | Ishtar-b36744b9fb5729315ca9ac92919ef8b315f8a3c8.tar.bz2 Ishtar-b36744b9fb5729315ca9ac92919ef8b315f8a3c8.zip |
Fix "history_creator" on duplicate
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/models_finds.py | 4 | ||||
-rw-r--r-- | archaeological_finds/tests.py | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index e53706e9a..706a2bbbf 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -2439,6 +2439,10 @@ class Find( new.upstream_treatment, new.downstream_treatment = None, None new.uuid = uuid.uuid4() new.save() + if hasattr(user, "user_ptr"): + new.history_creator = user.user_ptr + new.history_modifier = user.user_ptr + new.save() # m2m fields m2m = [ diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index cb5ca5644..d0adc766a 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -1515,12 +1515,15 @@ class FindQATest(FindInit, TestCase): def setUp(self): self.create_finds(data_base={"label": "Find 1"}, force=True) self.create_finds(data_base={"label": "Find 2"}, force=True) - self.username, self.password, self.user = create_superuser() self.alt_username, self.alt_password, self.alt_user = create_user() self.alt_user.user_permissions.add( Permission.objects.get(codename="change_find") ) + def get_default_user(self): + self.username, self.password, self.user = create_superuser() + return self.user + def test_duplicate(self): t1, __ = models.Treatment.objects.get_or_create( label="Treatment 1", treatment_state=models.TreatmentState.objects.all()[0] @@ -1560,6 +1563,9 @@ class FindQATest(FindInit, TestCase): self.assertEqual(models.Find.objects.count(), nb_find + 1) self.assertEqual(models.BaseFind.objects.count(), nb_bf + 1) new = models.Find.objects.order_by("-pk").all()[0] + self.assertEqual(find.history_creator, self.user) + self.assertEqual(new.history_creator, self.alt_user) + self.assertEqual(new.base_finds.all()[0].history_creator, self.alt_user) self.assertEqual(new.description, default_desc) new_bf = models.BaseFind.objects.order_by("-pk").all()[0] base_bf = find.get_first_base_find() |