From 8d9e72de09341fb48b7e2a396111b4d4b14fc6db Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Sun, 15 Mar 2015 20:04:33 +0000 Subject: [PATCH 1/2] Pass fields attribute to inlineformset_factory --- wagtail/wagtailusers/views/groups.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wagtail/wagtailusers/views/groups.py b/wagtail/wagtailusers/views/groups.py index 21eb08c76..3a7ba8cde 100644 --- a/wagtail/wagtailusers/views/groups.py +++ b/wagtail/wagtailusers/views/groups.py @@ -83,7 +83,8 @@ def create(request): Group, GroupPagePermission, formset=BaseGroupPagePermissionFormSet, - extra=0 + extra=0, + fields=('page', 'permission_type'), ) if request.POST: form = GroupForm(request.POST) @@ -115,7 +116,8 @@ def edit(request, group_id): Group, GroupPagePermission, formset=BaseGroupPagePermissionFormSet, - extra=0 + extra=0, + fields=('page', 'permission_type'), ) if request.POST: form = GroupForm(request.POST, instance=group) From 5705ace2c60cd53f726cab88612f2fbabd27f739 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Wed, 18 Mar 2015 22:55:53 +0000 Subject: [PATCH 2/2] Move GroupPagePermissionFormSet into users/forms.py --- wagtail/wagtailusers/forms.py | 10 ++++++++++ wagtail/wagtailusers/views/groups.py | 18 +----------------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/wagtail/wagtailusers/forms.py b/wagtail/wagtailusers/forms.py index 3c7c3acb5..3fc1b3096 100644 --- a/wagtail/wagtailusers/forms.py +++ b/wagtail/wagtailusers/forms.py @@ -3,6 +3,7 @@ from django.contrib.auth.forms import UserCreationForm as BaseUserCreationForm from django.utils.translation import ugettext_lazy as _ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission +from django.forms.models import inlineformset_factory from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.widgets import AdminPageChooser @@ -213,6 +214,15 @@ class BaseGroupPagePermissionFormSet(forms.models.BaseInlineFormSet): return empty_form +GroupPagePermissionFormSet = inlineformset_factory( + Group, + GroupPagePermission, + formset=BaseGroupPagePermissionFormSet, + extra=0, + fields=('page', 'permission_type'), +) + + class NotificationPreferencesForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(NotificationPreferencesForm, self).__init__(*args, **kwargs) diff --git a/wagtail/wagtailusers/views/groups.py b/wagtail/wagtailusers/views/groups.py index 3a7ba8cde..6c8654216 100644 --- a/wagtail/wagtailusers/views/groups.py +++ b/wagtail/wagtailusers/views/groups.py @@ -5,12 +5,10 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers -from django.forms.models import inlineformset_factory from wagtail.wagtailadmin import messages from wagtail.wagtailadmin.forms import SearchForm -from wagtail.wagtailusers.forms import GroupForm, BaseGroupPagePermissionFormSet -from wagtail.wagtailcore.models import GroupPagePermission +from wagtail.wagtailusers.forms import GroupForm, GroupPagePermissionFormSet def user_has_group_model_perm(user): @@ -79,13 +77,6 @@ def index(request): @permission_required('auth.add_group') def create(request): - GroupPagePermissionFormSet = inlineformset_factory( - Group, - GroupPagePermission, - formset=BaseGroupPagePermissionFormSet, - extra=0, - fields=('page', 'permission_type'), - ) if request.POST: form = GroupForm(request.POST) formset = GroupPagePermissionFormSet(request.POST) @@ -112,13 +103,6 @@ def create(request): @permission_required('auth.change_group') def edit(request, group_id): group = get_object_or_404(Group, id=group_id) - GroupPagePermissionFormSet = inlineformset_factory( - Group, - GroupPagePermission, - formset=BaseGroupPagePermissionFormSet, - extra=0, - fields=('page', 'permission_type'), - ) if request.POST: form = GroupForm(request.POST, instance=group) formset = GroupPagePermissionFormSet(request.POST, instance=group)