Commit f4094fd29aef5df95492efd861a233411bc9515a

Authored by Arthur Esposte
1 parent 12a26bee

Remove wrong methods from search_controller extansion

src/noosfero-spb/software_communities/lib/ext/search_controller.rb
... ... @@ -2,66 +2,11 @@ require_dependency 'search_controller'
2 2  
3 3 class SearchController
4 4  
5   - # def communities
6   - # delete_communities = []
7   - # valid_communities_string = Community.get_valid_communities_string
8   - # Community.all.each{|community| delete_communities << community.id unless eval(valid_communities_string)}
9   -
10   - # @scope = visible_profiles(Community)
11   - # @scope = @scope.where(["id NOT IN (?)", delete_communities]) unless delete_communities.empty?
12   -
13   - # full_text_search
14   - # end
15   -
16   - # def software_infos
17   - # prepare_software_search_page
18   - # results = filter_software_infos_list
19   - # @software_count = results.count
20   - # results = results.paginate(:per_page => @per_page, :page => params[:page])
21   - # @searches[@asset] = {:results => results}
22   - # @search = results
23   -
24   - # render :layout=>false if request.xhr?
25   - # end
26   -
27 5 protected
28 6  
29   - def filter_communities_list
30   - unfiltered_list = visible_profiles(Community)
31   -
32   - unless params[:query].nil?
33   - unfiltered_list = unfiltered_list.select do |com|
34   - com.name.downcase =~ /#{params[:query].downcase}/
35   - end
36   - end
37   -
38   - communities_list = []
39   - unfiltered_list.each do |profile|
40   - if profile.class == Community && !profile.is_template? && yield(profile)
41   - communities_list << profile
42   - end
43   - end
44   -
45   - communities_list
46   - end
47   -
48   - # def filter_software_infos_list
49   - # filtered_software_list = get_community_ids_from_filtered_software
50   - # filtered_community_list = get_communities_list(filtered_software_list)
51   - # sort_communities_list filtered_community_list
52   - # end
53   -
54   - def get_filter_category_ids
55   - category_ids = []
56   - unless params[:selected_categories_id].blank?
57   - category_ids = params[:selected_categories_id]
58   - end
59   - category_ids.map(&:to_i)
60   - end
61   -
62 7 # def sort_communities_list communities_list
63 8 # communities_list.sort! {|a, b| a.name.downcase <=> b.name.downcase}
64   -
  9 + #
65 10 # if params[:sort] && params[:sort] == "desc"
66 11 # communities_list.reverse!
67 12 # elsif params[:sort] && params[:sort] == "relevance"
... ...
src/noosfero-spb/software_communities/lib/software_communities_plugin.rb
... ... @@ -141,14 +141,6 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
141 141 @scope = visible_profiles(Community)
142 142 @asset = class_name_underscored
143 143 @assets = [@asset]
144   - @titles[class_name_underscored] = _("Result Search")
145   - @categories = Category.software_categories.sort{|a, b| a.name <=> b.name}
146   - @selected_categories_id = params[:selected_categories_id]
147   - @selected_categories_id ||= []
148   - @selected_categories_id = @selected_categories_id.map(&:to_i)
149   - @all_selected = params[:software_type] == "all"
150   - @public_software_selected = !@all_selected
151   - @per_page = prepare_per_page
152 144 params[:limit] = 24
153 145 end
154 146  
... ... @@ -161,7 +153,6 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
161 153 scope = Community.where(:id => community_ids)
162 154 end
163 155  
164   - scope.order(:name)
165 156 # scope = scope.like_search(query, options) unless query.blank?
166 157 # scope = scope.send(options[:filter]) unless options[:filter].blank?
167 158 {:results => scope.paginate(paginate_options)}
... ... @@ -169,19 +160,44 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
169 160  
170 161 protected
171 162  
172   - def get_community_ids_from_filtered_software(query)
173   - filtered_software_list = SoftwareCommunitiesPlugin::SoftwareInfo.search_by_query(query)
  163 + def get_community_ids_from_filtered_software query
  164 + software_list = SoftwareCommunitiesPlugin::SoftwareInfo.search_by_query(query)
174 165  
  166 + software_list = filter_only_specific_softwares(software_list)
  167 +
  168 + software_list = filter_softwares_by_categories(software_list)
  169 +
  170 + community_ids = []
  171 +
  172 + software_list.each do |software|
  173 + community_ids << software.community_id
  174 + end
  175 +
  176 + community_ids
  177 + end
  178 +
  179 + def filter_only_specific_softwares software_list
  180 + # TODO: refatorar isso para um scope
175 181 if context.params[:only_softwares]
176 182 context.params[:only_softwares].collect!{ |software_name| software_name.to_slug }
177   - filtered_software_list = SoftwareCommunitiesPlugin::SoftwareInfo.all.select{ |s| context.params[:only_softwares].include?(s.identifier) }
178   - @public_software_selected = false
  183 + software_list = SoftwareCommunitiesPlugin::SoftwareInfo.all.select{ |s| context.params[:only_softwares].include?(s.identifier) }
  184 + context.public_software_selected = false
179 185 end
180 186  
181   - category_ids = get_filter_category_ids
  187 + software_list
  188 + end
  189 +
  190 + def filter_softwares_by_categories software_list
  191 + # TODO: refatorar isso para um scope
  192 + category_ids = []
  193 + unless context.params[:selected_categories_id].blank?
  194 + category_ids = context.params[:selected_categories_id]
  195 + end
  196 +
  197 + category_ids = category_ids.map(&:to_i)
182 198  
183 199 unless category_ids.empty?
184   - filtered_software_list.select! do |software|
  200 + software_list.select! do |software|
185 201 if software.nil? || software.community.nil?
186 202 false
187 203 else
... ... @@ -191,13 +207,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
191 207 end
192 208 end
193 209  
194   - community_ids = []
195   -
196   - filtered_software_list.each do |software|
197   - community_ids << software.community_id
198   - end
199   -
200   - community_ids
  210 + software_list
201 211 end
202 212  
203 213 def sort_communities_list communities_list
... ...
src/noosfero-spb/software_communities/models/software_communities_plugin/softwares_block.rb
... ... @@ -35,7 +35,7 @@ class SoftwareCommunitiesPlugin::SoftwaresBlock &lt; CommunitiesBlock
35 35 when Environment
36 36 lambda do |context|
37 37 link_to s_('softwares|View all'), :controller => 'search',
38   - :action => 'software_infos'
  38 + :action => 'softwares'
39 39 end
40 40 else
41 41 ''
... ...