admin: remove group member editing through the group change form (fixes #6951)
This commit is contained in:
parent
83d8390623
commit
181025b13b
|
@ -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()})
|
||||
|
|
|
@ -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())
|
||||
|
||||
|
|
Loading…
Reference in New Issue