64 try: |
64 try: |
65 User.objects.get(username=username) |
65 User.objects.get(username=username) |
66 except User.DoesNotExist: |
66 except User.DoesNotExist: |
67 return username |
67 return username |
68 raise forms.ValidationError(self.error_messages['duplicate_username']) |
68 raise forms.ValidationError(self.error_messages['duplicate_username']) |
|
69 |
|
70 def save(self, commit=True): |
|
71 user = super(AdminUserCreationForm, self).save(commit=False) |
|
72 |
|
73 public_group_name = getattr(settings,'PUBLIC_GROUP_NAME', None) |
|
74 |
|
75 if public_group_name: |
|
76 def save_m2m(): |
|
77 everyone, _ = Group.objects.get_or_create(name=public_group_name) |
|
78 user.groups.add(everyone) |
|
79 if commit: |
|
80 user.save() |
|
81 save_m2m() |
|
82 user.save() |
|
83 else: |
|
84 old_save_m2m = getattr(self, 'save_m2m', lambda: None) |
|
85 self.save_m2m = lambda: [old_save_m2m(), save_m2m()] |
|
86 |
|
87 return user |
|
88 |
|
89 |
69 |
90 |
70 class AdminUserChangeForm(UserChangeForm): |
91 class AdminUserChangeForm(UserChangeForm): |
71 language = forms.ChoiceField(label=_("Language"), choices=[(k,_(v)) for k,v in settings.LANGUAGES], initial=settings.LANGUAGE_CODE[:2]) |
92 language = forms.ChoiceField(label=_("Language"), choices=[(k,_(v)) for k,v in settings.LANGUAGES], initial=settings.LANGUAGE_CODE[:2]) |
72 image = forms.ImageField(label=_("Profile picture"), required=False) |
93 image = forms.ImageField(label=_("Profile picture"), required=False) |
73 |
94 |