summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit0c6c694b743cef4517df63ad93c6af4f7dc757cb (patch)
tree03550b62cdaa5c5075e2166b28e3554179e3dd31
parentbe5ccea0659c912e263650dcadd31581916c103d (diff)
downloadIshtar-0c6c694b743cef4517df63ad93c6af4f7dc757cb.tar.bz2
Ishtar-0c6c694b743cef4517df63ad93c6af4f7dc757cb.zip
Person: fix raw_name reinit when no name is given
-rw-r--r--CHANGES.md7
-rw-r--r--ishtar_common/models.py6
-rw-r--r--ishtar_common/tests.py10
-rw-r--r--ishtar_common/version.py4
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():