Commit 639b675627eac7657e1181da8f37d71c42b282fe

Authored by Tallys Martins
Committed by Thiago Ribeiro
1 parent fbb90275

Profile members page extends new code from core

Signed-off-by: Tallys Martins <tallysmartins@yahoo.com.br>
lib/ext/profile_controller.rb
... ... @@ -25,17 +25,10 @@ class ProfileController
25 25  
26 26 def members
27 27 if is_cache_expired?(profile.members_cache_key(params))
28   - all_members = if params[:sort] and params[:sort] == "desc"
29   - profile.members.order("name desc")
30   - else
31   - profile.members.order("name asc")
32   - end
33   - @profile_admins = profile.admins
34   - @profile_members = all_members - @profile_admins
35   - @profile_members = @profile_members.paginate(:per_page => members_per_page, :page => params[:npage], :total_entries => @profile_members.size)
36   - @profile_admins = @profile_admins.paginate(:per_page => members_per_page, :page => params[:npage], :total_entries => @profile_admins.size)
37   - @total_members = all_members.size
38   - @profile_members_url = url_for(:controller => "profile", :action => "members")
  28 + sort = (params[:sort] == 'desc') ? params[:sort] : 'asc'
  29 + @profile_admins = profile.admins.includes(relations_to_include).order("name #{sort}").paginate(:per_page => members_per_page, :page => params[:npage])
  30 + @profile_members = profile.members.includes(relations_to_include).order("name #{sort}").paginate(:per_page => members_per_page, :page => params[:npage])
  31 + @profile_members_url = url_for(:controller => 'profile', :action => 'members')
39 32 end
40 33 end
41 34  
... ...
views/profile/members.html.erb
  1 +<div class="common-profile-list-block">
1 2  
2   -<div class="page-members-header">
3   - <h1><%= _("Members") + " (#{@total_members})" %></h1>
4   - <h3 class="community-name"><%= _("%s") % profile.name %></h3>
5   - <%= render "blocks/profile_info_actions/community" %>
6   -</div>
  3 + <div class="page-members-header">
  4 + <h1><%= _("Members (%d)") % @profile_members.total_entries %></h1>
  5 + <h3 class="community-name"><%= profile.name %></h3>
  6 + <%= render "blocks/profile_info_actions/community" %>
  7 + </div>
7 8  
8 9 <% cache_timeout(profile.members_cache_key(params), 4.hours) do %>
9   -<div class="profile-members-tabs-container">
  10 + <div class="profile-members-tabs-container">
10 11 <% tabs = [] %>
11 12  
12   - <% div_members = content_tag :div, :class => "profile-members" do
  13 + <% div_members = content_tag :div, :class => "profile-members" do
13 14 render :partial => 'profile_members_list',
14 15 :locals => {
15 16 :users => @profile_members,
16 17 :role => "members"
17 18 }
  19 + end %>
18 20  
19   - end %>
20   -
21   - <% members_pagination = content_tag :div, :class => "pagination-profile-members" do
22   - pagination_links @profile_members, :param_name => 'npage'
23   - end %>
24   -
25   -
26   - <% tabs << {:title => "#{@profile_members.size} "+_("Members"),
  21 + <% tabs << {:title => _("%d Members") % @profile_members.total_entries,
27 22 :id => "members-tab",
28   - :content => (div_members + members_pagination)
  23 + :content => div_members
29 24 } %>
30 25  
31 26 <% div_admins = content_tag :div, :class => "profile-admins" do
... ... @@ -34,24 +29,16 @@
34 29 :users => @profile_admins,
35 30 :role => "admins"
36 31 }
37   - end %>
38   -
39   - <% admins_pagination = content_tag :div, :class => "pagination-profile-admins" do
40   - pagination_links @profile_admins, :param_name => 'npage'
41   - end %>
42   -
43   - <% tabs << {:title => "#{@profile_admins.size} "+_("Administrators"),
44   - :id => "admins-tab",
45   - :content => (div_admins+admins_pagination)
46   - } %>
47   -
48   -
  32 + end %>
49 33  
  34 + <% tabs << {:title => _("%d Administrators") % @profile_admins.total_entries,
  35 + :id => "admins-tab",
  36 + :content => div_admins
  37 + } %>
50 38  
51 39 <%= render_tabs(tabs) %>
52   - <% end %>
53   -</div>
54   -
  40 + </div><!-- end of class="profile-members-tabs-container" -->
  41 +<% end %>
55 42  
56 43 <% button_bar do %>
57 44 <%= button :back, _('Go back'), { :controller => 'profile' } %>
... ... @@ -66,7 +53,6 @@
66 53 <% end %>
67 54  
68 55 <%= hidden_field_tag "profile_url", @profile_members_url %>
69   -<%= hidden_field_tag "sort", "asc" %>
70   -</div><!-- fim class="common-profile-list-block" -->
  56 +</div><!-- end of class="common-profile-list-block" -->
71 57  
72 58 <%= javascript_include_tag "members_page.js" %>
... ...