Commit 639b675627eac7657e1181da8f37d71c42b282fe
Committed by
Thiago Ribeiro
1 parent
fbb90275
Exists in
master
and in
4 other branches
Profile members page extends new code from core
Signed-off-by: Tallys Martins <tallysmartins@yahoo.com.br>
Showing
2 changed files
with
23 additions
and
44 deletions
Show diff stats
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" %> |