Commit d74ad926 authored by Rémy Coutable's avatar Rémy Coutable

Use a single query in Projects::ProjectMembersController to fetch members

Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent 10d4b20a
...@@ -35,13 +35,12 @@ class Projects::ProjectMembersController < Projects::ApplicationController ...@@ -35,13 +35,12 @@ class Projects::ProjectMembersController < Projects::ApplicationController
@group_links = @project.project_group_links.where(group_id: @project.invited_groups.search(params[:search]).select(:id)) @group_links = @project.project_group_links.where(group_id: @project.invited_groups.search(params[:search]).select(:id))
end end
member_ids = @project_members.pluck(:id) wheres = ["id IN (#{@project_members.select(:id).to_sql})"]
wheres << "id IN (#{group_members.select(:id).to_sql})" if group_members
if group_members @project_members = Member.
member_ids += group_members.pluck(:id) where(wheres.join(' OR ')).
end order(access_level: :desc).page(params[:page])
@project_members = Member.where(id: member_ids).order(access_level: :desc).page(params[:page])
@requesters = AccessRequestsFinder.new(@project).execute(current_user) @requesters = AccessRequestsFinder.new(@project).execute(current_user)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment