diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-02-17 16:09:34 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-02-17 16:09:34 +0100 |
commit | e8b34109211c0fa5b580e0bd6112f82fa60a360c (patch) | |
tree | 412d1a4aa99c429d4de3a599e6c5f97c2fbbe141 /ishtar_common/forms_common.py | |
parent | 311c3d5245f46681529d96652efeaa1c9f6a48bf (diff) | |
download | Ishtar-e8b34109211c0fa5b580e0bd6112f82fa60a360c.tar.bz2 Ishtar-e8b34109211c0fa5b580e0bd6112f82fa60a360c.zip |
Accounts: initialize new account with default username extract from raw name
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 |