diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 9 | ||||
-rw-r--r-- | ishtar_common/tests.py | 7 |
2 files changed, 11 insertions, 5 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 24704dd21..53f0871f5 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2748,11 +2748,10 @@ class Person(Address, Merge, OwnPerms, ValueGetter): def save(self, *args, **kwargs): super(Person, self).save(*args, **kwargs) - if not self.raw_name: - self.raw_name = get_external_id( - 'person_raw_name', self) - if self.raw_name: - self.save() + raw_name = get_external_id('person_raw_name', self) + if raw_name and self.raw_name != raw_name: + self.raw_name = raw_name + self.save() if hasattr(self, 'responsible_town_planning_service'): for fle in self.responsible_town_planning_service.all(): fle.save() # force update of raw_town_planning_service diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index a9e92e1f2..095056c2e 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -954,6 +954,13 @@ class IshtarBasicTest(TestCase): response = self.client.get(reverse('status')) self.assertEqual(response.status_code, 200) + def test_person_rawname(self): + person = models.Person.objects.create(name="Weasley", surname="Bill") + self.assertEqual(person.raw_name, "WEASLEY Bill") + person.surname = "George" + person.save() + self.assertEqual(person.raw_name, "WEASLEY George") + class GeomaticTest(TestCase): def test_post_save_point(self): |