Commit 69ce8338006173a49110a1ac0f494a7a57d41c5b

Authored by Antonio Terceiro
1 parent 688b3512

Limit number of items in "my communities" menu

This limit the listing to the 5 most popular communities to avoid making
it unbearable to users that create a lot of communities.
Showing 1 changed file with 9 additions and 1 deletions   Show diff stats
app/helpers/application_helper.rb
@@ -1118,9 +1118,17 @@ module ApplicationHelper @@ -1118,9 +1118,17 @@ module ApplicationHelper
1118 1118
1119 def manage_link(list, kind) 1119 def manage_link(list, kind)
1120 if list.present? 1120 if list.present?
  1121 + link_to_all = nil
  1122 + if list.count > 5
  1123 + list = list.first(5)
  1124 + link_to_all = link_to(content_tag('strong', _('See all')), :controller => 'memberships', :profile => current_user.login)
  1125 + end
1121 link = list.map do |element| 1126 link = list.map do |element|
1122 link_to(content_tag('strong', [_('<span>Manage</span> %s') % element.short_name(25)]), @environment.top_url + "/myprofile/#{element.identifier}", :class => "icon-menu-"+element.class.identification.underscore, :title => [_('Manage %s') % element.short_name]) 1127 link_to(content_tag('strong', [_('<span>Manage</span> %s') % element.short_name(25)]), @environment.top_url + "/myprofile/#{element.identifier}", :class => "icon-menu-"+element.class.identification.underscore, :title => [_('Manage %s') % element.short_name])
1123 end 1128 end
  1129 + if link_to_all
  1130 + link << link_to_all
  1131 + end
1124 render :partial => "shared/manage_link", :locals => {:link => link, :kind => kind.to_s} 1132 render :partial => "shared/manage_link", :locals => {:link => link, :kind => kind.to_s}
1125 end 1133 end
1126 end 1134 end
@@ -1132,7 +1140,7 @@ module ApplicationHelper @@ -1132,7 +1140,7 @@ module ApplicationHelper
1132 1140
1133 def manage_communities 1141 def manage_communities
1134 return if not user 1142 return if not user
1135 - administered_communities = user.communities.select {|c| c.admins.include? user} 1143 + administered_communities = user.communities.more_popular.select {|c| c.admins.include? user}
1136 manage_link(administered_communities, :communities) 1144 manage_link(administered_communities, :communities)
1137 end 1145 end
1138 1146