summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-11-16 20:37:50 -0200
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-12-16 20:28:38 -0200
commit3a2905f5072f451b4b1f284c4383b4054a8892af (patch)
treeb1d84a799b2255bb8ea3bea81200250c63f48d15
parent4b7a3d0c38126489c42a207411b510b5a7b3264b (diff)
downloadgitlab-ce-3a2905f5072f451b4b1f284c4383b4054a8892af.tar.gz
Sort group/project members alphabetically by default
-rw-r--r--app/controllers/groups/group_members_controller.rb4
-rw-r--r--app/views/shared/members/_sort_dropdown.html.haml2
-rw-r--r--spec/features/groups/members/sorting_spec.rb7
-rw-r--r--spec/features/projects/members/sorting_spec.rb7
4 files changed, 17 insertions, 3 deletions
diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb
index 812aaa4c191..4f273a8d4f0 100644
--- a/app/controllers/groups/group_members_controller.rb
+++ b/app/controllers/groups/group_members_controller.rb
@@ -1,16 +1,18 @@
class Groups::GroupMembersController < Groups::ApplicationController
include MembershipActions
+ include SortingHelper
# Authorize
before_action :authorize_admin_group_member!, except: [:index, :leave, :request_access]
def index
+ @sort = params[:sort].presence || sort_value_name
@project = @group.projects.find(params[:project_id]) if params[:project_id]
@members = @group.group_members
@members = @members.non_invite unless can?(current_user, :admin_group, @group)
@members = @members.search(params[:search]) if params[:search].present?
- @members = @members.sort(@sort = params[:sort]) if params[:sort].present?
+ @members = @members.sort(@sort)
@members = @members.page(params[:page]).per(50)
@requesters = AccessRequestsFinder.new(@group).execute(current_user)
diff --git a/app/views/shared/members/_sort_dropdown.html.haml b/app/views/shared/members/_sort_dropdown.html.haml
index 42c09636ba3..a2b47b605b7 100644
--- a/app/views/shared/members/_sort_dropdown.html.haml
+++ b/app/views/shared/members/_sort_dropdown.html.haml
@@ -1,5 +1,3 @@
-- @sort ||= sort_value_last_joined
-
.dropdown.inline
= dropdown_toggle(member_sort_options_hash[@sort], { toggle: 'dropdown' }, { id: 'sort-members-dropdown' })
%ul.dropdown-menu.dropdown-menu-align-right.dropdown-menu-selectable
diff --git a/spec/features/groups/members/sorting_spec.rb b/spec/features/groups/members/sorting_spec.rb
index 5990e43c261..5904025d978 100644
--- a/spec/features/groups/members/sorting_spec.rb
+++ b/spec/features/groups/members/sorting_spec.rb
@@ -12,6 +12,13 @@ feature 'Groups > Members > Sorting', feature: true do
login_as(owner)
end
+ scenario 'sorts alphabetically by default' do
+ visit_members_list(sort: nil)
+
+ expect(first_member).to include(owner.name)
+ expect(second_member).to include(developer.name)
+ end
+
scenario 'sorts by access level ascending' do
visit_members_list(sort: :access_level_asc)
diff --git a/spec/features/projects/members/sorting_spec.rb b/spec/features/projects/members/sorting_spec.rb
index 597e72a5599..61d3a112b93 100644
--- a/spec/features/projects/members/sorting_spec.rb
+++ b/spec/features/projects/members/sorting_spec.rb
@@ -12,6 +12,13 @@ feature 'Projects > Members > Sorting', feature: true do
login_as(master)
end
+ scenario 'sorts alphabetically by default' do
+ visit_members_list(sort: nil)
+
+ expect(first_member).to include(master.name)
+ expect(second_member).to include(developer.name)
+ end
+
scenario 'sorts by access level ascending' do
visit_members_list(sort: :access_level_asc)