Commit fed2d9868f237ceebd2c8201ba7c528848a9ca44

Authored by Fabio Teixeira
Committed by Luciano Prestes
1 parent d75ed8fa

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 %>
... ...