0001-manager-remove-ChooseUserForm-61196.patch
src/authentic2/manager/forms.py | ||
---|---|---|
109 | 109 |
field.queryset = self.request.user.filter_by_perm(perm, qs) |
110 | 110 | |
111 | 111 | |
112 |
class ChooseUserForm(LimitQuerysetFormMixin, CssClass, forms.Form): |
|
113 | ||
114 |
user = fields.ChooseUserField(label=_('Add an user')) |
|
115 |
action = forms.CharField(initial='add', widget=forms.HiddenInput) |
|
116 | ||
117 |
def __init__(self, *args, **kwargs): |
|
118 |
ou = kwargs.pop('ou', None) |
|
119 |
super().__init__(*args, **kwargs) |
|
120 |
# Filter user by ou if asked |
|
121 |
if ou: |
|
122 |
self.fields['user'].queryset = self.fields['user'].queryset.filter(ou=ou) |
|
123 | ||
124 | ||
125 | 112 |
class ChooseRoleForm(LimitQuerysetFormMixin, CssClass, forms.Form): |
126 | 113 | |
127 | 114 |
role = fields.ChooseRoleField(label=_('Add a role')) |
src/authentic2/manager/widgets.py | ||
---|---|---|
86 | 86 |
return utils.label_from_user(user) |
87 | 87 | |
88 | 88 | |
89 |
class ChooseUserWidget(SearchUserWidgetMixin, SimpleModelSelect2Widget): |
|
90 |
pass |
|
91 | ||
92 | ||
93 | 89 |
class ChooseUsersWidget(SearchUserWidgetMixin, SimpleModelSelect2MultipleWidget): |
94 | 90 |
pass |
95 | 91 |
tests/test_manager.py | ||
---|---|---|
1011 | 1011 |
'''Verify that fields corresponding to widget implement queryset restrictions.''' |
1012 | 1012 |
from authentic2.manager.forms import ( |
1013 | 1013 |
ChooseRoleForm, |
1014 |
ChooseUserForm, |
|
1015 | 1014 |
ChooseUserRoleForm, |
1016 | 1015 |
RoleParentForm, |
1017 | 1016 |
RolesForm, |
... | ... | |
1044 | 1043 |
simple_role.permissions.add(view_user_perm) |
1045 | 1044 |
simple_user.roles.add(simple_role) |
1046 | 1045 | |
1047 |
form = ChooseUserForm(request=request, data={'user': visible_user.pk, 'action': 'add'}) |
|
1048 |
assert form.is_valid() |
|
1049 |
form = ChooseUserForm(request=request, data={'user': forbidden_user.pk, 'action': 'add'}) |
|
1050 |
assert error_message in form.errors['user'][0] |
|
1051 | ||
1052 | 1046 |
form = ChooseRoleForm(request=request, data={'role': visible_role.pk, 'action': 'add'}) |
1053 | 1047 |
assert form.is_valid() |
1054 | 1048 |
form = ChooseRoleForm(request=request, data={'role': forbidden_role.pk, 'action': 'add'}) |
1055 |
- |