Commit fc72f8e37ccb447131ee1492c147cef9add83581

Authored by Dmitriy Zaporozhets
2 parents 34cf3c49 5a064b02

Merge branch 'performance-improvements' into 'master'

Performance improvements

Fixes #1135
app/assets/stylesheets/gl_bootstrap.scss
@@ -253,6 +253,12 @@ ul.breadcrumb { @@ -253,6 +253,12 @@ ul.breadcrumb {
253 } 253 }
254 } 254 }
255 255
  256 + .panel-footer {
  257 + .pagination {
  258 + margin: 0;
  259 + }
  260 + }
  261 +
256 &.panel-small { 262 &.panel-small {
257 .panel-heading { 263 .panel-heading {
258 padding: 6px 15px; 264 padding: 6px 15px;
app/controllers/admin/groups_controller.rb
@@ -8,6 +8,8 @@ class Admin::GroupsController < Admin::ApplicationController @@ -8,6 +8,8 @@ class Admin::GroupsController < Admin::ApplicationController
8 end 8 end
9 9
10 def show 10 def show
  11 + @members = @group.members.order("group_access DESC").page(params[:members_page]).per(30)
  12 + @projects = @group.projects.page(params[:projects_page]).per(30)
11 end 13 end
12 14
13 def new 15 def new
app/controllers/admin/projects_controller.rb
@@ -17,6 +17,11 @@ class Admin::ProjectsController < Admin::ApplicationController @@ -17,6 +17,11 @@ class Admin::ProjectsController < Admin::ApplicationController
17 end 17 end
18 18
19 def show 19 def show
  20 + if @group
  21 + @group_members = @group.members.order("group_access DESC").page(params[:group_members_page]).per(30)
  22 + end
  23 +
  24 + @project_members = @project.users_projects.page(params[:project_members_page]).per(30)
20 end 25 end
21 26
22 def transfer 27 def transfer
app/views/admin/groups/show.html.haml
@@ -31,11 +31,12 @@ @@ -31,11 +31,12 @@
31 31
32 .panel.panel-default 32 .panel.panel-default
33 .panel-heading 33 .panel-heading
34 - Projects  
35 - %small  
36 - (#{@group.projects.count}) 34 + %h3.panel-title
  35 + Projects
  36 + %span.badge
  37 + #{@group.projects.count}
37 %ul.well-list 38 %ul.well-list
38 - - @group.projects.sort_by(&:name).each do |project| 39 + - @projects.each do |project|
39 %li 40 %li
40 %strong 41 %strong
41 = link_to project.name_with_namespace, [:admin, project] 42 = link_to project.name_with_namespace, [:admin, project]
@@ -43,6 +44,8 @@ @@ -43,6 +44,8 @@
43 = repository_size(project) 44 = repository_size(project)
44 %span.pull-right.light 45 %span.pull-right.light
45 %span.monospace= project.path_with_namespace + ".git" 46 %span.monospace= project.path_with_namespace + ".git"
  47 + .panel-footer
  48 + = paginate @projects, param_name: 'projects_page', theme: 'gitlab'
46 49
47 .col-md-6 50 .col-md-6
48 .panel.panel-default 51 .panel.panel-default
@@ -62,12 +65,12 @@ @@ -62,12 +65,12 @@
62 = submit_tag 'Add users into group', class: "btn btn-create" 65 = submit_tag 'Add users into group', class: "btn btn-create"
63 .panel.panel-default 66 .panel.panel-default
64 .panel-heading 67 .panel-heading
65 - %strong #{@group.name}  
66 - Group Members  
67 - %small  
68 - (#{@group.users_groups.count}) 68 + %h3.panel-title
  69 + Members
  70 + %span.badge
  71 + #{@group.users_groups.count}
69 %ul.well-list.group-users-list 72 %ul.well-list.group-users-list
70 - - @group.users_groups.order('group_access DESC').each do |member| 73 + - @members.each do |member|
71 - user = member.user 74 - user = member.user
72 %li{class: dom_class(user)} 75 %li{class: dom_class(user)}
73 .list-item-name 76 .list-item-name
@@ -77,3 +80,5 @@ @@ -77,3 +80,5 @@
77 = member.human_access 80 = member.human_access
78 = link_to group_users_group_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do 81 = link_to group_users_group_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
79 %i.icon-minus.icon-white 82 %i.icon-minus.icon-white
  83 + .panel-footer
  84 + = paginate @members, param_name: 'members_page', theme: 'gitlab'
app/views/admin/projects/show.html.haml
@@ -100,8 +100,10 @@ @@ -100,8 +100,10 @@
100 = link_to admin_group_path(@group), class: 'btn btn-small' do 100 = link_to admin_group_path(@group), class: 'btn btn-small' do
101 %i.icon-edit 101 %i.icon-edit
102 %ul.well-list 102 %ul.well-list
103 - - @group.users_groups.order('group_access DESC').each do |member| 103 + - @group_members.each do |member|
104 = render 'users_groups/users_group', member: member, show_controls: false 104 = render 'users_groups/users_group', member: member, show_controls: false
  105 + .panel-footer
  106 + = paginate @group_members, param_name: 'group_members_page', theme: 'gitlab'
105 107
106 .panel.panel-default 108 .panel.panel-default
107 .panel-heading 109 .panel-heading
@@ -113,7 +115,7 @@ @@ -113,7 +115,7 @@
113 %i.icon-edit 115 %i.icon-edit
114 Manage Access 116 Manage Access
115 %ul.well-list.team_members 117 %ul.well-list.team_members
116 - - @project.users_projects.each do |users_project| 118 + - @project_members.each do |users_project|
117 - user = users_project.user 119 - user = users_project.user
118 %li.users_project 120 %li.users_project
119 .list-item-name 121 .list-item-name
@@ -126,3 +128,5 @@ @@ -126,3 +128,5 @@
126 %span.light= users_project.human_access 128 %span.light= users_project.human_access
127 = link_to project_team_member_path(@project, user), data: { confirm: remove_from_project_team_message(@project, user)}, method: :delete, remote: true, class: "btn btn-small btn-remove" do 129 = link_to project_team_member_path(@project, user), data: { confirm: remove_from_project_team_message(@project, user)}, method: :delete, remote: true, class: "btn btn-small btn-remove" do
128 %i.icon-remove 130 %i.icon-remove
  131 + .panel-footer
  132 + = paginate @project_members, param_name: 'project_members_page', theme: 'gitlab'