##// END OF EJS Templates
Show projects depending on their visibility in user's profile. #6100...
Jean-Baptiste Barth -
r3821:e43f9fc21edc
parent child
Show More
@@ -53,10 +53,8 class UsersController < ApplicationController
53 @user = User.find(params[:id])
53 @user = User.find(params[:id])
54 @custom_values = @user.custom_values
54 @custom_values = @user.custom_values
55
55
56 # show only public projects and private projects that the logged in user is also a member of
56 # show projects based on current user visibility
57 @memberships = @user.memberships.select do |membership|
57 @memberships = @user.memberships.all(:conditions => Project.visible_by(User.current))
58 membership.project.is_public? || (User.current.member_of?(membership.project))
59 end
60
58
61 events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 10)
59 events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 10)
62 @events_by_day = events.group_by(&:event_date)
60 @events_by_day = events.group_by(&:event_date)
@@ -96,6 +96,16 class UsersControllerTest < ActionController::TestCase
96 assert_response 200
96 assert_response 200
97 assert_not_nil assigns(:user)
97 assert_not_nil assigns(:user)
98 end
98 end
99
100 def test_show_displays_memberships_based_on_project_visibility
101 @request.session[:user_id] = 1
102 get :show, :id => 2
103 assert_response :success
104 memberships = assigns(:memberships)
105 assert_not_nil memberships
106 project_ids = memberships.map(&:project_id)
107 assert project_ids.include?(2) #private project admin can see
108 end
99
109
100 def test_edit
110 def test_edit
101 ActionMailer::Base.deliveries.clear
111 ActionMailer::Base.deliveries.clear
General Comments 0
You need to be logged in to leave comments. Login now