From 639b675627eac7657e1181da8f37d71c42b282fe Mon Sep 17 00:00:00 2001 From: Tallys Martins Date: Tue, 15 Sep 2015 14:12:43 -0300 Subject: [PATCH] Profile members page extends new code from core --- lib/ext/profile_controller.rb | 15 ++++----------- views/profile/members.html.erb | 52 +++++++++++++++++++--------------------------------- 2 files changed, 23 insertions(+), 44 deletions(-) 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 @@ +
-
-

<%= _("Members") + " (#{@total_members})" %>

-

<%= _("%s") % profile.name %>

- <%= render "blocks/profile_info_actions/community" %> -
+
+

<%= _("Members (%d)") % @profile_members.total_entries %>

+

<%= profile.name %>

+ <%= render "blocks/profile_info_actions/community" %> +
<% 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