From 11d517940134f0cc8b684bd44c6defebdc5e7745 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 4 Oct 2019 16:01:47 +0200 Subject: Person form: fix precise town --- ishtar_common/forms_common.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index b8272a9f3..d7c6da1ec 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -776,18 +776,13 @@ class PersonForm(SimplePersonForm): def save(self, user): dct = self.cleaned_data dct['history_modifier'] = user - if 'attached_to' in dct and dct['attached_to']: - try: - dct['attached_to'] = models.Organization.objects.get( - pk=dct['attached_to']) - except models.Organization.DoesNotExist: - dct.pop('attached_to') - if 'title' in dct: - try: - dct['title'] = models.TitleType.objects.get( - pk=dct['title']) - except (models.TitleType.DoesNotExist, ValueError): - dct.pop('title') + for key in self.associated_models.keys(): + if key in dct and dct[key]: + model = self.associated_models[key] + try: + dct[key] = model.objects.get(pk=dct[key]) + except model.DoesNotExist: + dct.pop(key) person_types = dct.pop('person_types') new_item = models.Person.objects.create(**dct) for pt in person_types: -- cgit v1.2.3