# HG changeset patch # User ymh # Date 1442434704 -7200 # Node ID e0ba7a35e9df099d0e3d140036b059a8b5ae09d6 # Parent a138be8195e8d4708fe69eae7624c9d5702a56fb ensure that created users are put in everyone group + new version diff -r a138be8195e8 -r e0ba7a35e9df src/ldt/ldt/__init__.py --- a/src/ldt/ldt/__init__.py Wed Sep 16 17:31:31 2015 +0200 +++ b/src/ldt/ldt/__init__.py Wed Sep 16 22:18:24 2015 +0200 @@ -1,6 +1,6 @@ __all__ = ["VERSION", "get_version", "__version__", "default_app_config"] -VERSION = (1, 59, 1, "final", 0) +VERSION = (1, 59, 2, "final", 0) def get_version(): diff -r a138be8195e8 -r e0ba7a35e9df src/ldt/ldt/user/forms.py --- a/src/ldt/ldt/user/forms.py Wed Sep 16 17:31:31 2015 +0200 +++ b/src/ldt/ldt/user/forms.py Wed Sep 16 22:18:24 2015 +0200 @@ -66,6 +66,27 @@ except User.DoesNotExist: return username raise forms.ValidationError(self.error_messages['duplicate_username']) + + def save(self, commit=True): + user = super(AdminUserCreationForm, self).save(commit=False) + + public_group_name = getattr(settings,'PUBLIC_GROUP_NAME', None) + + if public_group_name: + def save_m2m(): + everyone, _ = Group.objects.get_or_create(name=public_group_name) + user.groups.add(everyone) + if commit: + user.save() + save_m2m() + user.save() + else: + old_save_m2m = getattr(self, 'save_m2m', lambda: None) + self.save_m2m = lambda: [old_save_m2m(), save_m2m()] + + return user + + class AdminUserChangeForm(UserChangeForm): language = forms.ChoiceField(label=_("Language"), choices=[(k,_(v)) for k,v in settings.LANGUAGES], initial=settings.LANGUAGE_CODE[:2]) diff -r a138be8195e8 -r e0ba7a35e9df src/ldt/ldt/user/models.py --- a/src/ldt/ldt/user/models.py Wed Sep 16 17:31:31 2015 +0200 +++ b/src/ldt/ldt/user/models.py Wed Sep 16 22:18:24 2015 +0200 @@ -32,6 +32,7 @@ user.save(using=self._db) everyone, _ = Group.objects.get_or_create(name=settings.PUBLIC_GROUP_NAME) user.groups.add(everyone) + user.save(using=self._db) return user def create_superuser(self, username, email, password, **extra_fields):