UX: Allow users to filter members on group page.

* Only admins are allowed to filter users by email.
This commit is contained in:
Guo Xiang Tan
2018-03-22 13:42:46 +08:00
parent 1cc0961566
commit f3b402ffd5
11 changed files with 171 additions and 25 deletions

View File

@ -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),