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 | 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" %> | ... | ... |