Commit fed2d9868f237ceebd2c8201ba7c528848a9ca44

Authored by Fabio Teixeira
Committed by Luciano Prestes
1 parent d75ed8fa
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

software-catalog: Add software search

* Design bug

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
lib/ext/search_controller.rb
... ... @@ -21,4 +21,25 @@ class SearchController
21 21 @searches[@asset] = {:results => results}
22 22 @search = results
23 23 end
  24 +
  25 + def software_infos
  26 + @titles[:software_infos] = "Software Infos"
  27 + unfiltered_list = visible_profiles(Community)
  28 + unless params[:query].nil?
  29 + unfiltered_list = unfiltered_list.select do |com|
  30 + com.name.downcase =~ /#{params[:query].downcase}/
  31 + end
  32 + end
  33 +
  34 + list_community_of_software = []
  35 + unfiltered_list.each do |p|
  36 + if p.class == Community and p.software?
  37 + list_community_of_software << p
  38 + end
  39 + end
  40 + results = list_community_of_software
  41 + results = results.paginate(:per_page => 24, :page => params[:page])
  42 + @searches[@asset] = {:results => results}
  43 + @search = results
  44 + end
24 45 end
25 46 \ No newline at end of file
... ...
lib/software_info.rb
1 1 class SoftwareInfo < ActiveRecord::Base
  2 + SEARCH_FILTERS = []
  3 +
2 4 attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform
3 5 attr_accessible :demonstration_url, :acronym, :objectives, :features, :license_info
4 6 attr_accessible :community_id, :finality, :repository_link, :public_software, :first_edit
... ... @@ -48,6 +50,10 @@ class SoftwareInfo &lt; ActiveRecord::Base
48 50 }
49 51 }
50 52  
  53 + def self.default_search_display
  54 + 'compact'
  55 + end
  56 +
51 57 def validate_name_lenght
52 58 if self.community.name.size > 100
53 59 self.errors.add(:base, _("Name is too long (maximum is %{count} characters)"))
... ...
views/search/software_infos.html.erb 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +<%= search_page_title( @titles[@asset], @category ) %>
  2 +
  3 +<%= render :partial => 'search_form', :locals => { :hint => _("Type words about the %s you're looking for") % @asset.to_s.singularize } %>
  4 +
  5 +<%= render :partial => 'results_header' %>
  6 +
  7 +<%= display_results(@searches, @asset) %>
  8 +<% if params[:display] != 'map' %>
  9 + <%= pagination_links @searches[@asset][:results] %>
  10 +<% end %>
  11 +
  12 +<div style="clear: both"></div>
  13 +
  14 +<% if @asset == :product %>
  15 + <%= javascript_tag do %>
  16 + jQuery('.search-product-price-details').altBeautify();
  17 + <% end %>
  18 +<% end %>
... ...