manager: fix user/role choices mix in role member add field (#60299)

This commit is contained in:
Valentin Deniaud 2022-01-05 14:35:47 +01:00
parent 8eafcd7848
commit 020eb92318
2 changed files with 8 additions and 1 deletions

View File

@ -841,11 +841,12 @@ class UserOrRoleSelect2View(DetailView):
role_page = role_paginator.page(page_number)
except EmptyPage:
role_page = []
has_next = False
else:
has_next = role_page.has_next()
user_page = []
if len(role_page) < 10:
if not has_next:
user_qs = self.form_class.get_user_queryset(self.request.user, role)
user_qs = user_qs.exclude(roles=role)
user_qs = self.filter_queryset(

View File

@ -549,6 +549,12 @@ def test_role_members_user_role_mixed_field_choices(
select2_json = request_select2(app, resp, term='test_user_', fetch_all=True)
assert len(select2_json['results']) == 25
for i in range(10):
Role.objects.create(name=f'test_xxx_{i}')
User.objects.create(username='test_xxx_10')
select2_json = request_select2(app, resp, term='test_xxx_')
assert len(select2_json['results']) == 11
def test_role_members_user_role_add_remove(app, superuser, settings, simple_role, simple_user, role_ou1):
url = reverse('a2-manager-role-members', kwargs={'pk': simple_role.pk})