Skip to content

Commit 865257b

Browse files
authored
Merge pull request #7206 from escattone/fix-add-group-member-2751
fix adding of users
2 parents b7f57d4 + 951c9fe commit 865257b

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

kitsune/sumo/form_fields.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,8 @@ def validate(self, value):
5656

5757
class MultiUsernameField(forms.Field):
5858
"""
59-
Form field that takes a comma-separated list of usernames OR profile
60-
names (display names) as input, validates that users exist for each one,
61-
and returns the list of users.
59+
Form field that takes a comma-separated list of usernames as input,
60+
and returns a list of active users matching those usernames.
6261
"""
6362

6463
def to_python(self, value):
@@ -68,23 +67,18 @@ def to_python(self, value):
6867
else:
6968
return []
7069

71-
users = []
72-
usernames = [name.strip() for name in value.split(",") if name]
70+
usernames = list(filter(None, (name.strip() for name in value.split(","))))
7371
if usernames:
74-
all_users = User.objects.filter(
75-
Q(username__in=usernames) | Q(profile__name__in=usernames)
76-
)
77-
for user in all_users:
78-
if user and user.is_active:
79-
users.append(user)
72+
return list(User.objects.filter(is_active=True, username__in=usernames))
8073

81-
return users
74+
return []
8275

8376

8477
class MultiUsernameFilterField(forms.Field):
8578
"""
8679
Similar to MultiUsernameField with the following differences:
8780
* Allows system accounts
81+
* Allows filtering by user display name
8882
* Cleaned data provides User querysets rather than User instances
8983
"""
9084

0 commit comments

Comments
 (0)