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,17 +25,10 @@ class ProfileController
25 25
26 def members 26 def members
27 if is_cache_expired?(profile.members_cache_key(params)) 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 end 32 end
40 end 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 <% cache_timeout(profile.members_cache_key(params), 4.hours) do %> 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 <% tabs = [] %> 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 render :partial => 'profile_members_list', 14 render :partial => 'profile_members_list',
14 :locals => { 15 :locals => {
15 :users => @profile_members, 16 :users => @profile_members,
16 :role => "members" 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 :id => "members-tab", 22 :id => "members-tab",
28 - :content => (div_members + members_pagination) 23 + :content => div_members
29 } %> 24 } %>
30 25
31 <% div_admins = content_tag :div, :class => "profile-admins" do 26 <% div_admins = content_tag :div, :class => "profile-admins" do
@@ -34,24 +29,16 @@ @@ -34,24 +29,16 @@
34 :users => @profile_admins, 29 :users => @profile_admins,
35 :role => "admins" 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 <%= render_tabs(tabs) %> 39 <%= render_tabs(tabs) %>
52 - <% end %>  
53 -</div>  
54 - 40 + </div><!-- end of class="profile-members-tabs-container" -->
  41 +<% end %>
55 42
56 <% button_bar do %> 43 <% button_bar do %>
57 <%= button :back, _('Go back'), { :controller => 'profile' } %> 44 <%= button :back, _('Go back'), { :controller => 'profile' } %>
@@ -66,7 +53,6 @@ @@ -66,7 +53,6 @@
66 <% end %> 53 <% end %>
67 54
68 <%= hidden_field_tag "profile_url", @profile_members_url %> 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 <%= javascript_include_tag "members_page.js" %> 58 <%= javascript_include_tag "members_page.js" %>