diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-10-04 16:01:47 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-10-04 16:01:47 +0200 |
commit | 11d517940134f0cc8b684bd44c6defebdc5e7745 (patch) | |
tree | 6b32160b8d328ee682aeb197c033264e30d96f3f /ishtar_common/forms_common.py | |
parent | 5249a3d31fd97a4b2daa6eed85d5f8026a5d207b (diff) | |
download | Ishtar-11d517940134f0cc8b684bd44c6defebdc5e7745.tar.bz2 Ishtar-11d517940134f0cc8b684bd44c6defebdc5e7745.zip |
Person form: fix precise town
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r-- | ishtar_common/forms_common.py | 19 |
1 files changed, 7 insertions, 12 deletions
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: |