browse_controller.rb
1.48 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class BrowseController < PublicController
no_design_blocks
FILTERS = %w(
more_recent
more_active
more_popular
)
def people
@filter = filter
@title = self.filter_description(params[:action] + '_' + @filter )
@results = @environment.people.visible.send(@filter)
if params[:query].blank?
@results = @results.paginate(:per_page => 27, :page => params[:page])
else
@results = @results.find_by_contents(params[:query]).paginate(:per_page => 27, :page => params[:page])
end
end
def communities
@filter = filter
@title = self.filter_description(params[:action] + '_' + @filter )
@results = @environment.communities.visible.send(@filter)
if params[:query].blank?
@results = @results.paginate(:per_page => 27, :page => params[:page])
else
@results = @results.find_by_contents(params[:query]).paginate(:per_page => 27, :page => params[:page])
end
end
protected
def filter
if FILTERS.include?(params[:filter])
params[:filter]
else
'more_recent'
end
end
def filter_description(str)
{
'people_more_recent' => _('More recent people'),
'people_more_active' => _('More active people'),
'people_more_popular' => _('More popular people'),
'communities_more_recent' => _('More recent communities'),
'communities_more_active' => _('More active communities'),
'communities_more_popular' => _('More popular communities'),
}[str] || str
end
end