admin: remove group member editing through the group change form (fixes #6951)

This commit is contained in:
Benjamin Dauvergne 2015-04-15 10:40:05 +02:00
parent 83d8390623
commit 181025b13b
2 changed files with 1 additions and 50 deletions

View File

@ -8,8 +8,7 @@ from django.utils import timezone
from django.utils.http import urlencode
from django.http import HttpResponseRedirect
from django.views.decorators.cache import never_cache
from django.contrib.auth.admin import GroupAdmin, UserAdmin
from django.contrib.auth.models import Group
from django.contrib.auth.admin import UserAdmin
from django.contrib.sessions.models import Session
from django.contrib.auth import REDIRECT_FIELD_NAME
@ -207,14 +206,6 @@ class AttributeAdmin(admin.ModelAdmin):
admin.site.register(models.Attribute, AttributeAdmin)
class A2GroupAdmin(GroupAdmin):
form = forms.GroupAdminForm
admin.site.unregister(Group)
admin.site.register(Group, A2GroupAdmin)
@never_cache
def login(request, extra_context=None):
query = urlencode({REDIRECT_FIELD_NAME: request.get_full_path()})

View File

@ -108,46 +108,6 @@ class EmailChangeForm(forms.Form):
)
return password
from django import forms
from django.contrib.admin.widgets import FilteredSelectMultiple
from django.contrib.auth.models import Group
from . import compat
class GroupAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=compat.get_user_model().objects.all(),
widget=FilteredSelectMultiple(
verbose_name=_('users'),
is_stacked=False),
required=False)
class Meta:
model = Group
fields = [
'name',
'users',
]
def __init__(self, *args, **kwargs):
instance = kwargs.get('instance', None)
if instance is not None:
initial = kwargs.get('initial', {})
initial['users'] = instance.user_set.all()
kwargs['initial'] = initial
super(GroupAdminForm, self).__init__(*args, **kwargs)
def save(self, commit=True):
group = super(GroupAdminForm, self).save(commit=commit)
if commit:
group.user_set = self.cleaned_data['users']
else:
old_save_m2m = self.save_m2m
def new_save_m2m():
old_save_m2m()
group.user_set = self.cleaned_data['users']
self.save_m2m = new_save_m2m
return group
class NextUrlFormMixin(forms.Form):
next_url = forms.CharField(widget=forms.HiddenInput())