From 7c26217ea09a2c27698ba83917073c7a9c5f891c Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Wed, 12 Aug 2015 16:13:44 +0100 Subject: [PATCH] Remove 'Clear choice' action from page chooser in page permissions interface. This appeared because we reassigned the field's 'widget' attribute after the field was initialised - this means that the field never gets to pass its 'required=True' flag on to the widget. We avoid this by defining the field as a whole, in the Django-approved way (which also means we don't need to override __init__). --- wagtail/wagtailusers/forms.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/wagtail/wagtailusers/forms.py b/wagtail/wagtailusers/forms.py index 304655de2..884dc7254 100644 --- a/wagtail/wagtailusers/forms.py +++ b/wagtail/wagtailusers/forms.py @@ -7,7 +7,7 @@ from django.forms.models import inlineformset_factory from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.widgets import AdminPageChooser from wagtail.wagtailusers.models import UserProfile -from wagtail.wagtailcore.models import UserPagePermissionsProxy, GroupPagePermission +from wagtail.wagtailcore.models import Page, UserPagePermissionsProxy, GroupPagePermission User = get_user_model() @@ -229,9 +229,7 @@ class GroupForm(forms.ModelForm): class GroupPagePermissionForm(forms.ModelForm): - def __init__(self, *args, **kwargs): - super(GroupPagePermissionForm, self).__init__(*args, **kwargs) - self.fields['page'].widget = AdminPageChooser() + page = forms.ModelChoiceField(queryset=Page.objects.all(), widget=AdminPageChooser()) class Meta: model = GroupPagePermission