mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 13:51:09 +08:00
UX: Allow users to filter members on group page.
* Only admins are allowed to filter users by email.
This commit is contained in:
@ -186,8 +186,8 @@ class GroupsController < ApplicationController
|
||||
end
|
||||
|
||||
users = group.users.human_users
|
||||
|
||||
total = users.count
|
||||
|
||||
members = users
|
||||
.order('NOT group_users.owner')
|
||||
.order(order)
|
||||
@ -200,6 +200,16 @@ class GroupsController < ApplicationController
|
||||
.order(username_lower: dir)
|
||||
.where('group_users.owner')
|
||||
|
||||
if (filter = params[:filter]).present?
|
||||
if current_user&.admin
|
||||
owners = owners.filter_by_username_or_email(filter)
|
||||
members = members.filter_by_username_or_email(filter)
|
||||
else
|
||||
owners = owners.filter_by_username(filter)
|
||||
members = members.filter_by_username(filter)
|
||||
end
|
||||
end
|
||||
|
||||
render json: {
|
||||
members: serialize_data(members, GroupUserSerializer),
|
||||
owners: serialize_data(owners, GroupUserSerializer),
|
||||
|
Reference in New Issue
Block a user