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