Commit a6385b0e58ee25b414986dd3b22a4a8cc49fc1d5

Authored by Thiago Ribeiro
2 parents 2fa38979 1c475260
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Merge branch 'fix_communities_search' into 'master'

Fix communities search

See merge request !4
lib/ext/communities_block.rb
... ... @@ -4,16 +4,9 @@ class CommunitiesBlock
4 4  
5 5 def profile_list
6 6 result = get_visible_profiles
  7 + valid_communities_string = Community.get_valid_communities_string
7 8  
8   - list_without_software = []
9   -
10   - result.each do |profile|
11   - if profile.class == Community && !profile.software?
12   - list_without_software << profile
13   - end
14   - end
15   -
16   - result = list_without_software
  9 + result.each{|community| @scope.delete(community) unless eval(valid_communities_string)}
17 10  
18 11 result.slice(0..get_limit-1)
19 12 end
... ... @@ -45,5 +38,4 @@ class CommunitiesBlock
45 38 ).sort_by {rand}
46 39 end
47 40 end
48   -
49 41 end
... ...
lib/ext/community.rb
... ... @@ -26,6 +26,15 @@ class Community
26 26 community
27 27 end
28 28  
  29 + def self.get_valid_communities_string
  30 + remove_of_communities_methods = Community.instance_methods.select{|m| m =~ /remove_of_community_search/}
  31 + valid_communities_string = ""
  32 + remove_of_communities_methods.each do |method|
  33 + valid_communities_string += "!community.send('#{method}') && "
  34 + end
  35 + valid_communities_string[0..-5]
  36 + end
  37 +
29 38 def software?
30 39 return !software_info.nil?
31 40 end
... ... @@ -39,4 +48,8 @@ class Community
39 48 self.visible = true
40 49 self.save!
41 50 end
  51 +
  52 + def remove_of_community_search_software?
  53 + return software?
  54 + end
42 55 end
... ...
lib/ext/search_controller.rb
... ... @@ -3,12 +3,12 @@ require_dependency &#39;search_controller&#39;
3 3 class SearchController
4 4  
5 5 def communities
6   - results = filter_communities_list do |community|
7   - !community.software?
8   - end
9   - results = results.paginate(:per_page => 24, :page => params[:page])
10   - @searches[@asset] = {:results => results}
11   - @search = results
  6 + valid_communities_string = Community.get_valid_communities_string
  7 +
  8 + @scope = visible_profiles(Community)
  9 + @scope.each{|community| @scope.delete(community) unless eval(valid_communities_string)}
  10 +
  11 + full_text_search
12 12 end
13 13  
14 14 def software_infos
... ... @@ -162,5 +162,4 @@ class SearchController
162 162 end
163 163 end
164 164 end
165   -
166 165 end
... ...
lib/tasks/create_categories.rake
... ... @@ -2,7 +2,7 @@ namespace :software do
2 2 desc "Create software categories"
3 3 task :create_categories => :environment do
4 4 Environment.all.each do |env|
5   - if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("SoftwareCommunities")
  5 + if env.plugin_enabled?("SoftwareCommunitiesPlugin")
6 6 print 'Creating categories: '
7 7 software = Category.create(:name => _("Software"), :environment => env)
8 8 Category::SOFTWARE_CATEGORIES.each do |category_name|
... ...
lib/tasks/create_licenses.rake
... ... @@ -3,7 +3,7 @@ namespace :software do
3 3  
4 4 task :create_licenses => :environment do
5 5 Environment.all.each do |env|
6   - if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("SoftwareCommunities")
  6 + if env.plugin_enabled?("SoftwareCommunitiesPlugin")
7 7 list_file = File.open "plugins/software_communities/public/static/licences.txt", "r"
8 8  
9 9 version_or_link = 'version'
... ...
lib/tasks/create_sample_softwares.rake
... ... @@ -4,8 +4,7 @@ namespace :software do
4 4 desc "Create sample softwares"
5 5 task :create_sample_softwares => :environment do
6 6 Environment.all.each do |env|
7   - if env.plugin_enabled?("SoftwareCommunities") or env.plugin_enabled?("SoftwareCommunitiesPlugin")
8   -
  7 + if env.plugin_enabled?("SoftwareCommunitiesPlugin")
9 8 print "Creating softwares: "
10 9  
11 10 NUMBER_OF_SOFTWARES.times do |i|
... ...