summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-06 15:52:40 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-06 15:52:40 +0200
commite2027c3b2c4bcc2356ec06b5fb6dc8d5bf780e50 (patch)
treeced06e4a3e0ef4600d2dbbf2741f001125c162bf /ishtar_common/forms_common.py
parent180d93d47cfae279ef927ea5fa736fa1fc37c553 (diff)
parentb7a7183cdb07c7782abac7fe01d86cc2beb1411e (diff)
downloadIshtar-e2027c3b2c4bcc2356ec06b5fb6dc8d5bf780e50.tar.bz2
Ishtar-e2027c3b2c4bcc2356ec06b5fb6dc8d5bf780e50.zip
Merge branch 'master' into v0.9
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index 2788283db..560a1abb3 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -261,6 +261,8 @@ class SimplePersonForm(ManageOldType, NewItemForm):
associated_models = {'attached_to': models.Organization,
'title': models.TitleType}
title = forms.ChoiceField(label=_("Title"), choices=[])
+ salutation = forms.CharField(label=_("Salutation"), max_length=200,
+ required=False)
surname = forms.CharField(label=_(u"Surname"), max_length=50,
validators=[name_validator])
name = forms.CharField(label=_(u"Name"), max_length=200,
@@ -363,14 +365,14 @@ class AccountFormSelection(forms.Form):
class BasePersonForm(forms.ModelForm):
class Meta:
model = models.Person
- fields = ['title', 'name', 'surname', 'address', 'address_complement',
- 'town', 'postal_code']
+ fields = ['title', 'salutation', 'name', 'surname', 'address',
+ 'address_complement', 'town', 'postal_code']
class BaseOrganizationPersonForm(forms.ModelForm):
class Meta:
model = models.Person
- fields = ['attached_to', 'title', 'name', 'surname']
+ fields = ['attached_to', 'title', 'salutation', 'name', 'surname']
widgets = {'attached_to': widgets.JQueryPersonOrganization(
reverse_lazy('autocomplete-organization'),
reverse_lazy('organization_create'),
@@ -412,8 +414,17 @@ class PersonForm(SimplePersonForm):
dct = self.cleaned_data
dct['history_modifier'] = user
if 'attached_to' in dct and dct['attached_to']:
- dct['attached_to'] = models.Organization.objects.get(
- pk=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 and dct['title']:
+ try:
+ dct['title'] = models.TitleType.objects.get(
+ pk=dct['title'])
+ except models.TitleType.DoesNotExist:
+ dct.pop('title')
person_types = dct.pop('person_types')
new_item = models.Person.objects.create(**dct)
for pt in person_types: