summaryrefslogtreecommitdiff
path: root/app/controllers/projects/settings
diff options
context:
space:
mode:
authorJose Ivan Vargas <jvargas@gitlab.com>2016-12-23 16:29:00 -0600
committerJose Ivan Vargas <jvargas@gitlab.com>2017-01-03 10:52:14 -0600
commitad58dec2e1564e9c2d23dd32e5da8b12eeba965d (patch)
tree2d0877f1244b492a57c780aabd425b2a253ed4d9 /app/controllers/projects/settings
parentdef6c43da15a38e1211cf733442efe01824e5150 (diff)
downloadgitlab-ce-ad58dec2e1564e9c2d23dd32e5da8b12eeba965d.tar.gz
Added groups to members section, added a members finder
Diffstat (limited to 'app/controllers/projects/settings')
-rw-r--r--app/controllers/projects/settings/members_controller.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/app/controllers/projects/settings/members_controller.rb b/app/controllers/projects/settings/members_controller.rb
index ee6be33c701..766a01ba5e1 100644
--- a/app/controllers/projects/settings/members_controller.rb
+++ b/app/controllers/projects/settings/members_controller.rb
@@ -2,7 +2,7 @@ module Projects
module Settings
class MembersController < Projects::ApplicationController
include SortingHelper
-
+
def show
@sort = params[:sort].presence || sort_value_name
@group_links = @project.project_group_links
@@ -12,15 +12,18 @@ module Projects
group = @project.group
+ # group links
+ @group_links = @project.project_group_links.all
+
+ @skip_groups = @group_links.pluck(:group_id)
+ @skip_groups << @project.namespace_id unless project.personal?
+
if group
# We need `.where.not(user_id: nil)` here otherwise when a group has an
# invitee, it would make the following query return 0 rows since a NULL
# user_id would be present in the subquery
# See http://stackoverflow.com/questions/129077/not-in-clause-and-null-values
- # FIXME: This whole logic should be moved to a finder!
- non_null_user_ids = @project_members.where.not(user_id: nil).select(:user_id)
- group_members = group.group_members.where.not(user_id: non_null_user_ids)
- group_members = group_members.non_invite unless can?(current_user, :admin_group, @group)
+ group_members = MembersFinder.new(@project, @group)
end
if params[:search].present?