summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
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
commit92eff6a269032012a7b16e02af6d56834c88425a (patch)
tree6b32160b8d328ee682aeb197c033264e30d96f3f /ishtar_common/forms_common.py
parent438b1850c90652b447e9150c8a7d84795dfcfb25 (diff)
downloadIshtar-92eff6a269032012a7b16e02af6d56834c88425a.tar.bz2
Ishtar-92eff6a269032012a7b16e02af6d56834c88425a.zip
Person form: fix precise town
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py19
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: