# HG changeset patch # User Chris Cannam # Date 1363103079 0 # Node ID 44475ccf56d3fd06457f5449e64847c82ab2ad86 # Parent 30c444ea13383c6a2a1df865b83401f0120fb281# Parent eb168c1e9553e59058f4af996c07769618bc65a9 Merge from branch "live" diff -r 30c444ea1338 -r 44475ccf56d3 app/controllers/my_controller.rb --- a/app/controllers/my_controller.rb Tue Mar 12 15:15:18 2013 +0000 +++ b/app/controllers/my_controller.rb Tue Mar 12 15:44:39 2013 +0000 @@ -38,7 +38,7 @@ }.merge(Redmine::Views::MyPage::Block.additional_blocks).freeze DEFAULT_LAYOUT = { 'left' => ['myprojects', 'activitymyprojects'], - 'right' => ['tipoftheday', 'colleagues', 'issueswatched'] + 'right' => ['tipoftheday', 'issueswatched'] }.freeze verify :xhr => true, diff -r 30c444ea1338 -r 44475ccf56d3 app/helpers/activities_helper.rb --- a/app/helpers/activities_helper.rb Tue Mar 12 15:15:18 2013 +0000 +++ b/app/helpers/activities_helper.rb Tue Mar 12 15:44:39 2013 +0000 @@ -45,7 +45,7 @@ def projects_by_activity(user, count) - # Return up to count of the user's projects ordered by that user's + # Return up to count of the user's project ids ordered by that user's # recent activity, omitting any projects for which no activity # occurred in the recent past and any projects not visible to # the current user @@ -67,37 +67,52 @@ start = Time.now + my_inst = "" + if ! User.current.ssamr_user_detail.nil? + my_inst = User.current.ssamr_user_detail.institution_name + end + + actives = Hash.new for c in colleagues u = User.find_by_id(c) active_projects = projects_by_activity(u, 3) if !active_projects.empty? - s << "
" + actives[c] = active_projects + end + end + + if actives.empty? + l(:label_no_active_colleagues) + else + + s << "
" + for c in actives.keys.sample(10) + u = User.find_by_id(c) s << "
" s << avatar(u, :size => '24') s << "" s << h(u.name) s << "" if !u.ssamr_user_detail.nil? - s << " - " - s << h(u.ssamr_user_detail.institution_name) - s << "" + inst = u.ssamr_user_detail.institution_name + if inst != "" and inst != my_inst + s << " - " + s << h(u.ssamr_user_detail.institution_name) + s << "" + end end s << "
" s << "
" s << "" - s << (active_projects.map { |p| link_to_project(p) }.join ", ") + s << (actives[c].map { |p| link_to_project(p) }.join ", ") s << "" - s << "
" end - end + s << "
" - finish = Time.now - logger.info "render_active_colleagues: took #{finish-start}" + finish = Time.now + logger.info "render_active_colleagues: took #{finish-start}" - if s != "" s - else - l(:label_no_active_colleagues) end end diff -r 30c444ea1338 -r 44475ccf56d3 app/helpers/my_helper.rb --- a/app/helpers/my_helper.rb Tue Mar 12 15:15:18 2013 +0000 +++ b/app/helpers/my_helper.rb Tue Mar 12 15:44:39 2013 +0000 @@ -25,50 +25,4 @@ user.projects.select { |p| p.visible? }.map { |p| p.members.map { |m| m.user_id } }.flatten.sort.uniq.reject { |i| user.id == i } end - def render_active_colleagues(colleagues) - - s = "" - - start = Time.now - - my_inst = "" - if ! User.current.ssamr_user_detail.nil? - my_inst = User.current.ssamr_user_detail.institution_name - end - - for c in colleagues - u = User.find_by_id(c) - active_projects = projects_by_activity(u, 3) - if !active_projects.empty? - s << "
" - s << avatar(u, :size => '24') - s << "" - s << h(u.name) - s << "" - if !u.ssamr_user_detail.nil? - inst = u.ssamr_user_detail.institution_name - if inst != "" and inst != my_inst - s << " - " - s << h(inst) - s << "" - end - end - s << "
" - s << "" - s << (active_projects.map { |p| link_to_project(p) }.join ", ") - s << "" - s << "
" - end - end - - finish = Time.now - logger.info "render_active_colleagues: took #{finish-start}" - - if s != "" - s - else - l(:label_no_active_colleagues) - end - end - end diff -r 30c444ea1338 -r 44475ccf56d3 app/views/my/blocks/_colleagues.html.erb --- a/app/views/my/blocks/_colleagues.html.erb Tue Mar 12 15:15:18 2013 +0000 +++ b/app/views/my/blocks/_colleagues.html.erb Tue Mar 12 15:44:39 2013 +0000 @@ -1,5 +1,5 @@ -<% colleagues = all_colleagues_of(@user).sample(10) %> +<% colleagues = all_colleagues_of(@user) %> <% if !colleagues.empty? %>