diff --git a/lib/ext/profile_controller.rb b/lib/ext/profile_controller.rb
index ba82165..8e8e482 100644
--- a/lib/ext/profile_controller.rb
+++ b/lib/ext/profile_controller.rb
@@ -25,17 +25,10 @@ class ProfileController
def members
if is_cache_expired?(profile.members_cache_key(params))
- all_members = if params[:sort] and params[:sort] == "desc"
- profile.members.order("name desc")
- else
- profile.members.order("name asc")
- end
- @profile_admins = profile.admins
- @profile_members = all_members - @profile_admins
- @profile_members = @profile_members.paginate(:per_page => members_per_page, :page => params[:npage], :total_entries => @profile_members.size)
- @profile_admins = @profile_admins.paginate(:per_page => members_per_page, :page => params[:npage], :total_entries => @profile_admins.size)
- @total_members = all_members.size
- @profile_members_url = url_for(:controller => "profile", :action => "members")
+ sort = (params[:sort] == 'desc') ? params[:sort] : 'asc'
+ @profile_admins = profile.admins.includes(relations_to_include).order("name #{sort}").paginate(:per_page => members_per_page, :page => params[:npage])
+ @profile_members = profile.members.includes(relations_to_include).order("name #{sort}").paginate(:per_page => members_per_page, :page => params[:npage])
+ @profile_members_url = url_for(:controller => 'profile', :action => 'members')
end
end
diff --git a/views/profile/members.html.erb b/views/profile/members.html.erb
index ce15fc4..2b1280b 100644
--- a/views/profile/members.html.erb
+++ b/views/profile/members.html.erb
@@ -1,31 +1,26 @@
+
-
+
<% cache_timeout(profile.members_cache_key(params), 4.hours) do %>
-
+
<% tabs = [] %>
- <% div_members = content_tag :div, :class => "profile-members" do
+ <% div_members = content_tag :div, :class => "profile-members" do
render :partial => 'profile_members_list',
:locals => {
:users => @profile_members,
:role => "members"
}
+ end %>
- end %>
-
- <% members_pagination = content_tag :div, :class => "pagination-profile-members" do
- pagination_links @profile_members, :param_name => 'npage'
- end %>
-
-
- <% tabs << {:title => "#{@profile_members.size} "+_("Members"),
+ <% tabs << {:title => _("%d Members") % @profile_members.total_entries,
:id => "members-tab",
- :content => (div_members + members_pagination)
+ :content => div_members
} %>
<% div_admins = content_tag :div, :class => "profile-admins" do
@@ -34,24 +29,16 @@
:users => @profile_admins,
:role => "admins"
}
- end %>
-
- <% admins_pagination = content_tag :div, :class => "pagination-profile-admins" do
- pagination_links @profile_admins, :param_name => 'npage'
- end %>
-
- <% tabs << {:title => "#{@profile_admins.size} "+_("Administrators"),
- :id => "admins-tab",
- :content => (div_admins+admins_pagination)
- } %>
-
-
+ end %>
+ <% tabs << {:title => _("%d Administrators") % @profile_admins.total_entries,
+ :id => "admins-tab",
+ :content => div_admins
+ } %>
<%= render_tabs(tabs) %>
- <% end %>
-
-
+
+<% end %>
<% button_bar do %>
<%= button :back, _('Go back'), { :controller => 'profile' } %>
@@ -66,7 +53,6 @@
<% end %>
<%= hidden_field_tag "profile_url", @profile_members_url %>
-<%= hidden_field_tag "sort", "asc" %>
-
+
<%= javascript_include_tag "members_page.js" %>
--
libgit2 0.21.2