Commit fc72f8e37ccb447131ee1492c147cef9add83581
Exists in
spb-stable
and in
2 other branches
Merge branch 'performance-improvements' into 'master'
Performance improvements Fixes #1135
Showing
5 changed files
with
33 additions
and
11 deletions
Show diff stats
app/assets/stylesheets/gl_bootstrap.scss
app/controllers/admin/groups_controller.rb
| ... | ... | @@ -8,6 +8,8 @@ class Admin::GroupsController < Admin::ApplicationController |
| 8 | 8 | end |
| 9 | 9 | |
| 10 | 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 | 13 | end |
| 12 | 14 | |
| 13 | 15 | def new | ... | ... |
app/controllers/admin/projects_controller.rb
| ... | ... | @@ -17,6 +17,11 @@ class Admin::ProjectsController < Admin::ApplicationController |
| 17 | 17 | end |
| 18 | 18 | |
| 19 | 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 | 25 | end |
| 21 | 26 | |
| 22 | 27 | def transfer | ... | ... |
app/views/admin/groups/show.html.haml
| ... | ... | @@ -31,11 +31,12 @@ |
| 31 | 31 | |
| 32 | 32 | .panel.panel-default |
| 33 | 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 | 38 | %ul.well-list |
| 38 | - - @group.projects.sort_by(&:name).each do |project| | |
| 39 | + - @projects.each do |project| | |
| 39 | 40 | %li |
| 40 | 41 | %strong |
| 41 | 42 | = link_to project.name_with_namespace, [:admin, project] |
| ... | ... | @@ -43,6 +44,8 @@ |
| 43 | 44 | = repository_size(project) |
| 44 | 45 | %span.pull-right.light |
| 45 | 46 | %span.monospace= project.path_with_namespace + ".git" |
| 47 | + .panel-footer | |
| 48 | + = paginate @projects, param_name: 'projects_page', theme: 'gitlab' | |
| 46 | 49 | |
| 47 | 50 | .col-md-6 |
| 48 | 51 | .panel.panel-default |
| ... | ... | @@ -62,12 +65,12 @@ |
| 62 | 65 | = submit_tag 'Add users into group', class: "btn btn-create" |
| 63 | 66 | .panel.panel-default |
| 64 | 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 | 72 | %ul.well-list.group-users-list |
| 70 | - - @group.users_groups.order('group_access DESC').each do |member| | |
| 73 | + - @members.each do |member| | |
| 71 | 74 | - user = member.user |
| 72 | 75 | %li{class: dom_class(user)} |
| 73 | 76 | .list-item-name |
| ... | ... | @@ -77,3 +80,5 @@ |
| 77 | 80 | = member.human_access |
| 78 | 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 | 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 | 100 | = link_to admin_group_path(@group), class: 'btn btn-small' do |
| 101 | 101 | %i.icon-edit |
| 102 | 102 | %ul.well-list |
| 103 | - - @group.users_groups.order('group_access DESC').each do |member| | |
| 103 | + - @group_members.each do |member| | |
| 104 | 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 | 108 | .panel.panel-default |
| 107 | 109 | .panel-heading |
| ... | ... | @@ -113,7 +115,7 @@ |
| 113 | 115 | %i.icon-edit |
| 114 | 116 | Manage Access |
| 115 | 117 | %ul.well-list.team_members |
| 116 | - - @project.users_projects.each do |users_project| | |
| 118 | + - @project_members.each do |users_project| | |
| 117 | 119 | - user = users_project.user |
| 118 | 120 | %li.users_project |
| 119 | 121 | .list-item-name |
| ... | ... | @@ -126,3 +128,5 @@ |
| 126 | 128 | %span.light= users_project.human_access |
| 127 | 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 | 130 | %i.icon-remove |
| 131 | + .panel-footer | |
| 132 | + = paginate @project_members, param_name: 'project_members_page', theme: 'gitlab' | ... | ... |