diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-05-18 12:31:50 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-05-18 12:34:10 +0200 |
commit | 0c6c694b743cef4517df63ad93c6af4f7dc757cb (patch) | |
tree | 03550b62cdaa5c5075e2166b28e3554179e3dd31 | |
parent | be5ccea0659c912e263650dcadd31581916c103d (diff) | |
download | Ishtar-0c6c694b743cef4517df63ad93c6af4f7dc757cb.tar.bz2 Ishtar-0c6c694b743cef4517df63ad93c6af4f7dc757cb.zip |
Person: fix raw_name reinit when no name is given
-rw-r--r-- | CHANGES.md | 7 | ||||
-rw-r--r-- | ishtar_common/models.py | 6 | ||||
-rw-r--r-- | ishtar_common/tests.py | 10 | ||||
-rw-r--r-- | ishtar_common/version.py | 4 |
4 files changed, 22 insertions, 5 deletions
diff --git a/CHANGES.md b/CHANGES.md index 81d38fbe1..71de9a35f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,13 @@ date: 2022-05-17 Ishtar changelog ================ +v3.1.64 - 2022-05-18 +-------------------- + +### Bug fix ### + +- Person: fix raw_name reinit when no name is given + v3.1.63 - 2022-05-17 -------------------- diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 6b4959496..d2a476640 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2726,8 +2726,8 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem): def _generate_cached_label(self): lbl = get_generated_id("person_raw_name", self) - if not lbl: - return "-" + if not lbl.strip(): + return self.raw_name or "-" if self.attached_to: attached_to = str(self.attached_to) lbl += " ({})".format(attached_to) @@ -2897,7 +2897,7 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem): def save(self, *args, **kwargs): super(Person, self).save(*args, **kwargs) raw_name = get_generated_id("person_raw_name", self) - if raw_name and self.raw_name != raw_name: + if raw_name.strip() and self.raw_name != raw_name: self.raw_name = raw_name self.save() if hasattr(self, "responsible_town_planning_service"): diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 8ef083c9f..bd37226ff 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -2639,10 +2639,20 @@ class IshtarBasicTest(TestCase): def test_person_rawname(self): person = models.Person.objects.create(name="Weasley", surname="Bill") + person = models.Person.objects.get(pk=person.pk) self.assertEqual(person.raw_name, "WEASLEY Bill") + self.assertEqual(person.cached_label, "WEASLEY Bill") person.surname = "George" person.save() + person = models.Person.objects.get(pk=person.pk) self.assertEqual(person.raw_name, "WEASLEY George") + self.assertEqual(person.cached_label, "WEASLEY George") + # do not delete raw_name when no name, surname is available + person.name, person.surname, person.raw_name = "", "", "POTTER Harry" + person.save() + person = models.Person.objects.get(pk=person.pk) + self.assertEqual(person.raw_name, "POTTER Harry") + self.assertEqual(person.cached_label, "POTTER Harry") def test_show(self): person = models.Person.objects.create(name="Weasley", surname="Bill") diff --git a/ishtar_common/version.py b/ishtar_common/version.py index 511f161d2..c4eff2b4c 100644 --- a/ishtar_common/version.py +++ b/ishtar_common/version.py @@ -1,5 +1,5 @@ -# 3.1.62 -VERSION = (3, 1, 62) +# 3.1.64 +VERSION = (3, 1, 64) def get_version(): |