profile_controller.rb
1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require_dependency 'profile_controller'
class ProfileController
def communities
type = []
params[:type].downcase! unless params[:type].nil?
if params[:type] == "software"
type = profile.softwares
elsif params[:type] == "institution"
type = profile.institutions
else
profile.communities.select do |community|
type << community unless community.software? || community.institution?
end
end
if is_cache_expired?(profile.communities_cache_key(params))
@communities = type.paginate(:per_page => per_page, :page => params[:npage], :total_entries => type.count)
end
end
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")
end
end
end