diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/users_controller.rb | 6 | ||||
-rw-r--r-- | app/models/user.rb | 4 | ||||
-rw-r--r-- | app/views/users/_projects.html.haml | 2 | ||||
-rw-r--r-- | app/views/users/show.html.haml | 3 |
4 files changed, 11 insertions, 4 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 diff --git a/app/models/user.rb b/app/models/user.rb index f1b6139745e..0fbc9284dd8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -478,4 +478,8 @@ class User < ActiveRecord::Base def generate_tmp_oauth_email self.email = "temp-email-for-oauth-#{username}@gitlab.localhost" end + + def public_profile? + authorized_projects.public_only.any? + end end diff --git a/app/views/users/_projects.html.haml b/app/views/users/_projects.html.haml index 2d97c4545b9..bcaec4a27e7 100644 --- a/app/views/users/_projects.html.haml +++ b/app/views/users/_projects.html.haml @@ -1,5 +1,5 @@ .panel.panel-default - .panel-heading Projects + .panel-heading Personal projects %ul.well-list - @projects.each do |project| %li diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml index edcaf3acf98..948b59fead1 100644 --- a/app/views/users/show.html.haml +++ b/app/views/users/show.html.haml @@ -20,4 +20,5 @@ = render @events .col-md-4 = render 'profile', user: @user - = render 'projects' + - if @projects.present? + = render 'projects' |