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,4 +21,25 @@ class SearchController | ||
21 | @searches[@asset] = {:results => results} | 21 | @searches[@asset] = {:results => results} |
22 | @search = results | 22 | @search = results |
23 | end | 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 | end | 45 | end |
25 | \ No newline at end of file | 46 | \ No newline at end of file |
lib/software_info.rb
1 | class SoftwareInfo < ActiveRecord::Base | 1 | class SoftwareInfo < ActiveRecord::Base |
2 | + SEARCH_FILTERS = [] | ||
3 | + | ||
2 | attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform | 4 | attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform |
3 | attr_accessible :demonstration_url, :acronym, :objectives, :features, :license_info | 5 | attr_accessible :demonstration_url, :acronym, :objectives, :features, :license_info |
4 | attr_accessible :community_id, :finality, :repository_link, :public_software, :first_edit | 6 | attr_accessible :community_id, :finality, :repository_link, :public_software, :first_edit |
@@ -48,6 +50,10 @@ class SoftwareInfo < ActiveRecord::Base | @@ -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 | def validate_name_lenght | 57 | def validate_name_lenght |
52 | if self.community.name.size > 100 | 58 | if self.community.name.size > 100 |
53 | self.errors.add(:base, _("Name is too long (maximum is %{count} characters)")) | 59 | self.errors.add(:base, _("Name is too long (maximum is %{count} characters)")) |
@@ -0,0 +1,18 @@ | @@ -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 %> |