diff options
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r-- | ishtar_common/forms_common.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 67299fbac..e2c0e5db5 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -581,6 +581,7 @@ class AccountForm(forms.Form): widget=forms.PasswordInput, required=False) def __init__(self, *args, **kwargs): + person = None if 'initial' in kwargs and 'pk' in kwargs['initial']: try: person = models.Person.objects.get(pk=kwargs['initial']['pk']) @@ -591,7 +592,12 @@ class AccountForm(forms.Form): kwargs['initial']['email'] = account.email except ObjectDoesNotExist: pass - return super(AccountForm, self).__init__(*args, **kwargs) + if 'person' in kwargs: + person = kwargs.pop('person') + super(AccountForm, self).__init__(*args, **kwargs) + if person: + self.fields['username'].initial = \ + person.raw_name.lower().replace(' ', '.') def clean(self): cleaned_data = self.cleaned_data |