Commit ed9cff9a3c0a230f5497e85e8e178699ed02683e

Authored by Dmitriy Zaporozhets
1 parent 7d57b96e

Restyle project members page to fit both group and personal projects

app/assets/stylesheets/gitlab_bootstrap/lists.scss
@@ -16,6 +16,12 @@ @@ -16,6 +16,12 @@
16 color: #888; 16 color: #888;
17 } 17 }
18 18
  19 + &.unstyled {
  20 + &:hover {
  21 + background: none;
  22 + }
  23 + }
  24 +
19 &.smoke { background-color: #f5f5f5; } 25 &.smoke { background-color: #f5f5f5; }
20 26
21 &:hover { 27 &:hover {
app/controllers/dashboard_controller.rb
@@ -34,11 +34,12 @@ class DashboardController < ApplicationController @@ -34,11 +34,12 @@ class DashboardController < ApplicationController
34 @projects 34 @projects
35 end 35 end
36 36
37 - @projects = @projects.tagged_with(params[:label]) if params[:label].present?  
38 @projects = @projects.search(params[:search]) if params[:search].present? 37 @projects = @projects.search(params[:search]) if params[:search].present?
39 - @projects = @projects.page(params[:page]).per(30)  
40 38
41 @labels = Project.where(id: @projects.map(&:id)).tags_on(:labels) 39 @labels = Project.where(id: @projects.map(&:id)).tags_on(:labels)
  40 +
  41 + @projects = @projects.tagged_with(params[:label]) if params[:label].present?
  42 + @projects = @projects.page(params[:page]).per(30)
42 end 43 end
43 44
44 # Get authored or assigned open merge requests 45 # Get authored or assigned open merge requests
app/controllers/groups_controller.rb
@@ -63,7 +63,7 @@ class GroupsController < ApplicationController @@ -63,7 +63,7 @@ class GroupsController < ApplicationController
63 63
64 def people 64 def people
65 @project = group.projects.find(params[:project_id]) if params[:project_id] 65 @project = group.projects.find(params[:project_id]) if params[:project_id]
66 - @members = group.users_groups 66 + @members = group.users_groups.order('group_access DESC')
67 @users_group = UsersGroup.new 67 @users_group = UsersGroup.new
68 end 68 end
69 69
app/controllers/team_members_controller.rb
@@ -4,11 +4,8 @@ class TeamMembersController < ProjectResourceController @@ -4,11 +4,8 @@ class TeamMembersController < ProjectResourceController
4 before_filter :authorize_admin_project!, except: [:index, :show] 4 before_filter :authorize_admin_project!, except: [:index, :show]
5 5
6 def index 6 def index
7 - @team = @project.users_projects.scoped  
8 - @team = @team.send(params[:type]) if %w(masters developers reporters guests).include?(params[:type])  
9 - @team = @team.sort_by(&:project_access).reverse.group_by(&:project_access)  
10 -  
11 @group = @project.group 7 @group = @project.group
  8 + @users_projects = @project.users_projects.order('project_access DESC')
12 @assigned_teams = @project.user_team_project_relationships 9 @assigned_teams = @project.user_team_project_relationships
13 end 10 end
14 11
app/views/team_members/_group_members.html.haml 0 → 100644
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
  1 +.ui-box
  2 + %h5.title
  3 + = link_to people_group_path(@group) do
  4 + Members of #{@group.name} group
  5 + %ul.well-list
  6 + - @group.users_groups.order('group_access DESC').each do |member|
  7 + = render 'users_groups/users_group', member: member, show_controls: false
app/views/team_members/_team.html.haml
1 -- can_admin_project = (can? current_user, :admin_project, @project)  
2 -- team.each do |access, members|  
3 - - role = Project.access_options.key(access).pluralize  
4 - .ui-box{class: role.downcase} 1 +.team-table
  2 + - can_admin_project = (can? current_user, :admin_project, @project)
  3 + .ui-box
5 %h5.title 4 %h5.title
6 - = role  
7 - %span.light (#{members.size}) 5 + Project members (#{members.count})
8 %ul.well-list 6 %ul.well-list
9 - - members.sort_by(&:user_name).each do |team_member| 7 + - members.each do |team_member|
10 = render 'team_members/team_member', member: team_member, current_user_can_admin_project: can_admin_project 8 = render 'team_members/team_member', member: team_member, current_user_can_admin_project: can_admin_project
app/views/team_members/index.html.haml
1 = render "projects/settings_nav" 1 = render "projects/settings_nav"
2 %h3.page_title 2 %h3.page_title
3 - Project Members  
4 - (#{@project.users.count})  
5 - %small  
6 - Read more about project permissions  
7 - %strong= link_to "here", help_permissions_path, class: "vlink" 3 + Users with access to this project
8 4
9 - if can? current_user, :admin_team_member, @project 5 - if can? current_user, :admin_team_member, @project
10 %span.pull-right 6 %span.pull-right
@@ -15,51 +11,27 @@ @@ -15,51 +11,27 @@
15 = link_to new_project_team_member_path(@project), class: "btn btn-primary small grouped", title: "New Team Member" do 11 = link_to new_project_team_member_path(@project), class: "btn btn-primary small grouped", title: "New Team Member" do
16 New Team Member 12 New Team Member
17 13
18 -%hr 14 +%p.light
  15 + Read more about project permissions
  16 + %strong= link_to "here", help_permissions_path, class: "vlink"
19 17
20 18
21 -.clearfix  
22 -.row  
23 - .span3  
24 - %ul.nav.nav-pills.nav-stacked  
25 - %li{class: ("active" if !params[:type])}  
26 - = link_to project_team_index_path(type: nil) do  
27 - All  
28 - %li{class: ("active" if params[:type] == 'masters')}  
29 - = link_to project_team_index_path(type: 'masters') do  
30 - Masters  
31 - %span.pull-right= @project.users_projects.masters.count  
32 - %li{class: ("active" if params[:type] == 'developers')}  
33 - = link_to project_team_index_path(type: 'developers') do  
34 - Developers  
35 - %span.pull-right= @project.users_projects.developers.count  
36 - %li{class: ("active" if params[:type] == 'reporters')}  
37 - = link_to project_team_index_path(type: 'reporters') do  
38 - Reporters  
39 - %span.pull-right= @project.users_projects.reporters.count  
40 - %li{class: ("active" if params[:type] == 'guests')}  
41 - = link_to project_team_index_path(type: 'guests') do  
42 - Guests  
43 - %span.pull-right= @project.users_projects.guests.count  
44 -  
45 - - if @assigned_teams.present?  
46 - %h5  
47 - Assigned teams  
48 - (#{@project.user_teams.count})  
49 - %div  
50 - = render "team_members/assigned_teams", assigned_teams: @assigned_teams  
51 -  
52 - .span9  
53 - - if @group  
54 - .ui-box  
55 - %h5.title  
56 - = link_to people_group_path(@group) do  
57 - Members of #{@group.name} group  
58 - %ul.well-list  
59 - - @group.users_groups.each do |member|  
60 - = render 'users_groups/users_group', member: member, show_controls: false  
61 - %div.team-table  
62 - = render "team_members/team", team: @team  
63 -  
64 19
  20 +.clearfix
65 21
  22 +- if @group
  23 + .row
  24 + .span6
  25 + = render "team_members/group_members"
  26 + .span6
  27 + = render "team_members/team", members: @users_projects
  28 +
  29 +- else
  30 + = render "team_members/team", members: @users_projects
  31 +
  32 +- if @assigned_teams.present?
  33 + %h5
  34 + Assigned teams
  35 + (#{@project.user_teams.count})
  36 + %div
  37 + = render "team_members/assigned_teams", assigned_teams: @assigned_teams