summaryrefslogtreecommitdiff
path: root/app/controllers/users_controller.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-02 12:31:50 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-02 12:31:50 +0000
commit2c46b35b100be89e0549336616391aef2337454d (patch)
tree65460161315b06da8df51242bb926adb4e1fdf34 /app/controllers/users_controller.rb
parent28cc199128d64d8a84b555bea76fde0af9c7a783 (diff)
parente9de569458b55b43a0d09dceef07c3c5d583af24 (diff)
downloadgitlab-ce-2c46b35b100be89e0549336616391aef2337454d.tar.gz
Merge branch 'profile-personal-projects' into 'master'
Show only personal projects on user page When I visit user profile page I see all projects he have access too (if i can also access same projects). That means I see a list of hundreds projects if he joined several groups. ![Screenshot 2014-05-30 18.24.43](https://dev.gitlab.org/uploads/dzaporozhets/gitlabhq/5209c0cb01/Screenshot_2014-05-30_18.24.43.png) It inefficient because: * Slow page load if a lot of projects * Hard to find his personal projects I propose to replace it with `Personal projects` list. It has next advantages: * we don't load huge useless list of projects * I can see if user have personal projects I have access to * faster page load. We don't load all projects from all groups where user invited ![Screenshot 2014-05-30 18.20.29](https://dev.gitlab.org/uploads/dzaporozhets/gitlabhq/8a5d02a00d/Screenshot_2014-05-30_18.20.29.png) Partly fixes #1135
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r--app/controllers/users_controller.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 9461174b950..d42c2db9e5f 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -4,10 +4,12 @@ class UsersController < ApplicationController
def show
@user = User.find_by_username!(params[:username])
- @projects = @user.authorized_projects.accessible_to(current_user)
- if !current_user && @projects.empty?
+ @projects = Project.personal(@user).accessible_to(current_user)
+
+ unless current_user || @user.public_profile?
return authenticate_user!
end
+
@groups = @user.groups.accessible_to(current_user)
@events = @user.recent_events.where(project_id: @projects.pluck(:id)).limit(20)
@title = @user.name