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,66 +2,11 @@ require_dependency 'search_controller'
2 2
3 class SearchController 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 protected 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 # def sort_communities_list communities_list 7 # def sort_communities_list communities_list
63 # communities_list.sort! {|a, b| a.name.downcase <=> b.name.downcase} 8 # communities_list.sort! {|a, b| a.name.downcase <=> b.name.downcase}
64 - 9 + #
65 # if params[:sort] && params[:sort] == "desc" 10 # if params[:sort] && params[:sort] == "desc"
66 # communities_list.reverse! 11 # communities_list.reverse!
67 # elsif params[:sort] && params[:sort] == "relevance" 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,14 +141,6 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
141 @scope = visible_profiles(Community) 141 @scope = visible_profiles(Community)
142 @asset = class_name_underscored 142 @asset = class_name_underscored
143 @assets = [@asset] 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 params[:limit] = 24 144 params[:limit] = 24
153 end 145 end
154 146
@@ -161,7 +153,6 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin @@ -161,7 +153,6 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
161 scope = Community.where(:id => community_ids) 153 scope = Community.where(:id => community_ids)
162 end 154 end
163 155
164 - scope.order(:name)  
165 # scope = scope.like_search(query, options) unless query.blank? 156 # scope = scope.like_search(query, options) unless query.blank?
166 # scope = scope.send(options[:filter]) unless options[:filter].blank? 157 # scope = scope.send(options[:filter]) unless options[:filter].blank?
167 {:results => scope.paginate(paginate_options)} 158 {:results => scope.paginate(paginate_options)}
@@ -169,19 +160,44 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin @@ -169,19 +160,44 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
169 160
170 protected 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 if context.params[:only_softwares] 181 if context.params[:only_softwares]
176 context.params[:only_softwares].collect!{ |software_name| software_name.to_slug } 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 end 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 unless category_ids.empty? 199 unless category_ids.empty?
184 - filtered_software_list.select! do |software| 200 + software_list.select! do |software|
185 if software.nil? || software.community.nil? 201 if software.nil? || software.community.nil?
186 false 202 false
187 else 203 else
@@ -191,13 +207,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin @@ -191,13 +207,7 @@ class SoftwareCommunitiesPlugin &lt; Noosfero::Plugin
191 end 207 end
192 end 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 end 211 end
202 212
203 def sort_communities_list communities_list 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,7 +35,7 @@ class SoftwareCommunitiesPlugin::SoftwaresBlock &lt; CommunitiesBlock
35 when Environment 35 when Environment
36 lambda do |context| 36 lambda do |context|
37 link_to s_('softwares|View all'), :controller => 'search', 37 link_to s_('softwares|View all'), :controller => 'search',
38 - :action => 'software_infos' 38 + :action => 'softwares'
39 end 39 end
40 else 40 else
41 '' 41 ''