src/ldt/ldt/user/forms.py
changeset 1434 e0ba7a35e9df
parent 1431 bdefbdf222e7
child 1436 4aa751f8db8c
equal deleted inserted replaced
1433:a138be8195e8 1434:e0ba7a35e9df
    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