diff --git a/app/assets/stylesheets/gitlab_bootstrap/lists.scss b/app/assets/stylesheets/gitlab_bootstrap/lists.scss index e661e02623ef4621b7f3ee463bf84d2ca601a080..0fa4da44de5ddc20ec38c39f1fabc673b65caec1 100644 --- a/app/assets/stylesheets/gitlab_bootstrap/lists.scss +++ b/app/assets/stylesheets/gitlab_bootstrap/lists.scss @@ -16,6 +16,12 @@ color: #888; } + &.unstyled { + &:hover { + background: none; + } + } + &.smoke { background-color: #f5f5f5; } &:hover { diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index b74c22b15474f2d410fc64d3ace088e536018a82..9b3f59600c6d7e33cbd24cfbec7c3deebe38aa16 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -34,11 +34,12 @@ class DashboardController < ApplicationController @projects end - @projects = @projects.tagged_with(params[:label]) if params[:label].present? @projects = @projects.search(params[:search]) if params[:search].present? - @projects = @projects.page(params[:page]).per(30) @labels = Project.where(id: @projects.map(&:id)).tags_on(:labels) + + @projects = @projects.tagged_with(params[:label]) if params[:label].present? + @projects = @projects.page(params[:page]).per(30) end # Get authored or assigned open merge requests diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 617cfddd21adbad84abdcb3306a8dc3f5fa9e9b9..870a00d4ece976818c78c41dcf0fdfd65bc254c4 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -63,7 +63,7 @@ class GroupsController < ApplicationController def people @project = group.projects.find(params[:project_id]) if params[:project_id] - @members = group.users_groups + @members = group.users_groups.order('group_access DESC') @users_group = UsersGroup.new end diff --git a/app/controllers/team_members_controller.rb b/app/controllers/team_members_controller.rb index 588c2b63cf31769b8c976cc0f0520113afa8c953..095d7a3af55cfb4d5198a788bab19565d3e88131 100644 --- a/app/controllers/team_members_controller.rb +++ b/app/controllers/team_members_controller.rb @@ -4,11 +4,8 @@ class TeamMembersController < ProjectResourceController before_filter :authorize_admin_project!, except: [:index, :show] def index - @team = @project.users_projects.scoped - @team = @team.send(params[:type]) if %w(masters developers reporters guests).include?(params[:type]) - @team = @team.sort_by(&:project_access).reverse.group_by(&:project_access) - @group = @project.group + @users_projects = @project.users_projects.order('project_access DESC') @assigned_teams = @project.user_team_project_relationships end diff --git a/app/views/team_members/_group_members.html.haml b/app/views/team_members/_group_members.html.haml new file mode 100644 index 0000000000000000000000000000000000000000..256e6ce774439547a122be0d0de8920e3b4b5e3a --- /dev/null +++ b/app/views/team_members/_group_members.html.haml @@ -0,0 +1,7 @@ +.ui-box + %h5.title + = link_to people_group_path(@group) do + Members of #{@group.name} group + %ul.well-list + - @group.users_groups.order('group_access DESC').each do |member| + = render 'users_groups/users_group', member: member, show_controls: false diff --git a/app/views/team_members/_team.html.haml b/app/views/team_members/_team.html.haml index 4ff170ac86ef00a31037fbd38b6904a74233f6f2..3c7686c7b7670a70df4c6933486924eb0c4f7d79 100644 --- a/app/views/team_members/_team.html.haml +++ b/app/views/team_members/_team.html.haml @@ -1,10 +1,8 @@ -- can_admin_project = (can? current_user, :admin_project, @project) -- team.each do |access, members| - - role = Project.access_options.key(access).pluralize - .ui-box{class: role.downcase} +.team-table + - can_admin_project = (can? current_user, :admin_project, @project) + .ui-box %h5.title - = role - %span.light (#{members.size}) + Project members (#{members.count}) %ul.well-list - - members.sort_by(&:user_name).each do |team_member| + - members.each do |team_member| = render 'team_members/team_member', member: team_member, current_user_can_admin_project: can_admin_project diff --git a/app/views/team_members/index.html.haml b/app/views/team_members/index.html.haml index ec47c28bddf26eb26137a8badbc4f067938da94c..5df22813f1918b2c16094109e5d75ae57ac67ab1 100644 --- a/app/views/team_members/index.html.haml +++ b/app/views/team_members/index.html.haml @@ -1,10 +1,6 @@ = render "projects/settings_nav" %h3.page_title - Project Members - (#{@project.users.count}) - %small - Read more about project permissions - %strong= link_to "here", help_permissions_path, class: "vlink" + Users with access to this project - if can? current_user, :admin_team_member, @project %span.pull-right @@ -15,51 +11,27 @@ = link_to new_project_team_member_path(@project), class: "btn btn-primary small grouped", title: "New Team Member" do New Team Member -%hr +%p.light + Read more about project permissions + %strong= link_to "here", help_permissions_path, class: "vlink" -.clearfix -.row - .span3 - %ul.nav.nav-pills.nav-stacked - %li{class: ("active" if !params[:type])} - = link_to project_team_index_path(type: nil) do - All - %li{class: ("active" if params[:type] == 'masters')} - = link_to project_team_index_path(type: 'masters') do - Masters - %span.pull-right= @project.users_projects.masters.count - %li{class: ("active" if params[:type] == 'developers')} - = link_to project_team_index_path(type: 'developers') do - Developers - %span.pull-right= @project.users_projects.developers.count - %li{class: ("active" if params[:type] == 'reporters')} - = link_to project_team_index_path(type: 'reporters') do - Reporters - %span.pull-right= @project.users_projects.reporters.count - %li{class: ("active" if params[:type] == 'guests')} - = link_to project_team_index_path(type: 'guests') do - Guests - %span.pull-right= @project.users_projects.guests.count - - - if @assigned_teams.present? - %h5 - Assigned teams - (#{@project.user_teams.count}) - %div - = render "team_members/assigned_teams", assigned_teams: @assigned_teams - - .span9 - - if @group - .ui-box - %h5.title - = link_to people_group_path(@group) do - Members of #{@group.name} group - %ul.well-list - - @group.users_groups.each do |member| - = render 'users_groups/users_group', member: member, show_controls: false - %div.team-table - = render "team_members/team", team: @team - +.clearfix +- if @group + .row + .span6 + = render "team_members/group_members" + .span6 + = render "team_members/team", members: @users_projects + +- else + = render "team_members/team", members: @users_projects + +- if @assigned_teams.present? + %h5 + Assigned teams + (#{@project.user_teams.count}) + %div + = render "team_members/assigned_teams", assigned_teams: @assigned_teams