Commit fed2d9868f237ceebd2c8201ba7c528848a9ca44
Committed by
Luciano Prestes
1 parent
d75ed8fa
Exists in
master
and in
5 other branches
software-catalog: Add software search
* Design bug Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
3 changed files
with
45 additions
and
0 deletions
Show diff stats
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 < 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)")) | ... | ... |
| ... | ... | @@ -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 %> | ... | ... |