Commit 4be88df75bb3f7e416efaac54fbaeec77b0458c5

Authored by Rodrigo Souto
2 parents 8793197c 4d92265e

Merge commit 'refs/merge-requests/346' of git://gitorious.org/noosfero/noosfero …

…into merge-requests/346
app/views/search/_full_article.html.erb
1 <li class="search-article-item article-item"> 1 <li class="search-article-item article-item">
2 - <%= link_to(article.title, article.url, :class => "search-result-title") %> 2 + <div>
  3 + <%= link_to(article.title, article.url, :class => "search-result-title") %>
  4 + </div>
  5 +
3 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
4 <%= render :partial => 'image', :object => article %> 7 <%= render :partial => 'image', :object => article %>
5 </div> 8 </div>
  9 +
6 <table class="noborder search-content-second-column"> 10 <table class="noborder search-content-second-column">
7 <%= render :partial => 'article_common', :object => article %> 11 <%= render :partial => 'article_common', :object => article %>
8 </table> 12 </table>
app/views/search/_full_blog.html.erb
1 <li class="search-blog article-item"> 1 <li class="search-blog article-item">
2 - <%= link_to blog.title, blog.view_url, :class => 'search-result-title' %> 2 + <div>
  3 + <%= link_to blog.title, blog.view_url, :class => 'search-result-title' %>
  4 + </div>
  5 +
3 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
4 <%= render :partial => 'image', :object => blog %> 7 <%= render :partial => 'image', :object => blog %>
5 </div> 8 </div>
  9 +
6 <table class="noborder search-content-second-column"> 10 <table class="noborder search-content-second-column">
7 <tr class="search-blog-items"> 11 <tr class="search-blog-items">
8 <td class="search-field-label"><%= _("Last posts") %></td> 12 <td class="search-field-label"><%= _("Last posts") %></td>
app/views/search/_full_event.html.erb
1 <li class="search-event-item article-item"> 1 <li class="search-event-item article-item">
2 -<%= link_to(event.title, event.url, :class => "search-result-title") %>  
3 -<div class="search-content-first-column">  
4 - <%= render :partial => 'image', :object => event %>  
5 -</div>  
6 -<table class="noborder search-content-second-column">  
7 - <% if event.start_date %>  
8 - <tr class="search-article-event-date">  
9 - <td class="search-field-label"><%= _('Start date') %></td>  
10 - <td class="article-item-date"><%= event.start_date %></td>  
11 - </tr>  
12 - <% end %>  
13 - <% if event.end_date %>  
14 - <tr class="search-article-event-date">  
15 - <td class="search-field-label"><%= _('End date') %></td>  
16 - <td class="article-item-date"><%= event.end_date %></td>  
17 - </tr>  
18 - <% end %> 2 + <div>
  3 + <%= link_to(event.title, event.url, :class => "search-result-title") %>
  4 + </div>
19 5
20 - <%= render :partial => 'article_common', :object => event %>  
21 -</table>  
22 -<%= render :partial => 'article_last_change', :object => event %> 6 + <div class="search-content-first-column">
  7 + <%= render :partial => 'image', :object => event %>
  8 + </div>
23 9
24 -<div style="clear: both"></div> 10 + <table class="noborder search-content-second-column">
  11 + <% if event.start_date %>
  12 + <tr class="search-article-event-date">
  13 + <td class="search-field-label"><%= _('Start date') %></td>
  14 + <td class="article-item-date"><%= event.start_date %></td>
  15 + </tr>
  16 + <% end %>
  17 + <% if event.end_date %>
  18 + <tr class="search-article-event-date">
  19 + <td class="search-field-label"><%= _('End date') %></td>
  20 + <td class="article-item-date"><%= event.end_date %></td>
  21 + </tr>
  22 + <% end %>
  23 +
  24 + <%= render :partial => 'article_common', :object => event %>
  25 + </table>
  26 + <%= render :partial => 'article_last_change', :object => event %>
  27 +
  28 + <div style="clear: both"></div>
25 </li> 29 </li>
app/views/search/_full_folder.html.erb
1 <li class="search-folder-item article-item"> 1 <li class="search-folder-item article-item">
2 - <%= link_to folder.title, folder.view_url, :class => 'search-result-title' %> 2 + <div>
  3 + <%= link_to folder.title, folder.view_url, :class => 'search-result-title' %>
  4 + </div>
  5 +
3 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
4 <%= render :partial => 'image', :object => folder %> 7 <%= render :partial => 'image', :object => folder %>
5 </div> 8 </div>
  9 +
6 <table class="noborder search-content-second-column"> 10 <table class="noborder search-content-second-column">
7 <tr class="search-folder-items"> 11 <tr class="search-folder-items">
8 <td class="search-field-label"><%= _("Last items") %></td> 12 <td class="search-field-label"><%= _("Last items") %></td>
app/views/search/_full_forum.html.erb
1 <li class="search-forum-item article-item"> 1 <li class="search-forum-item article-item">
2 - <%= link_to forum.title, forum.view_url, :class => 'search-result-title' %> 2 + <div>
  3 + <%= link_to forum.title, forum.view_url, :class => 'search-result-title' %>
  4 + </div>
  5 +
3 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
4 <%= render :partial => 'image', :object => forum %> 7 <%= render :partial => 'image', :object => forum %>
5 </div> 8 </div>
  9 +
6 <table class="noborder search-content-second-column"> 10 <table class="noborder search-content-second-column">
7 <tr class="search-forum-items"> 11 <tr class="search-forum-items">
8 <td class="search-field-label"><%= _("Last topics") %></td> 12 <td class="search-field-label"><%= _("Last topics") %></td>
app/views/search/_full_gallery.html.erb
1 <li class="search-gallery article-item"> 1 <li class="search-gallery article-item">
2 - <%= link_to gallery.title, gallery.view_url, :class => 'search-result-title' %> 2 + <div>
  3 + <%= link_to gallery.title, gallery.view_url, :class => 'search-result-title' %>
  4 + </div>
  5 +
3 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
4 <%= render :partial => 'image', :object => gallery %> 7 <%= render :partial => 'image', :object => gallery %>
5 </div> 8 </div>
  9 +
6 <table class="noborder search-content-second-column"> 10 <table class="noborder search-content-second-column">
7 <%= render :partial => 'article_common', :object => gallery %> 11 <%= render :partial => 'article_common', :object => gallery %>
8 </table> 12 </table>
app/views/search/_full_text_article.html.erb
1 <li class="search-text-article-item article-item"> 1 <li class="search-text-article-item article-item">
2 - <%= link_to(text_article.title, text_article.url, :class => "search-result-title") %> 2 + <div>
  3 + <%= link_to(text_article.title, text_article.url, :class => "search-result-title") %>
  4 + </div>
3 5
4 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
5 <%= render :partial => 'image', :object => text_article %> 7 <%= render :partial => 'image', :object => text_article %>
app/views/search/_full_uploaded_file.html.erb
1 <li class="search-uploaded-file-item article-item"> 1 <li class="search-uploaded-file-item article-item">
2 - <%= link_to uploaded_file.filename, uploaded_file.view_url, :class => 'search-result-title' %> 2 + <div>
  3 + <%= link_to uploaded_file.filename, uploaded_file.view_url, :class => 'search-result-title' %>
  4 + </div>
3 5
4 <div class="search-content-first-column"> 6 <div class="search-content-first-column">
5 <%= render :partial => 'image', :object => uploaded_file %> 7 <%= render :partial => 'image', :object => uploaded_file %>
plugins/solr/features/.search_products.feature.swp
No preview for this file type
plugins/solr/lib/.solr_plugin.rb.swp
No preview for this file type
plugins/solr/lib/solr_plugin.rb
@@ -6,8 +6,6 @@ class SolrPlugin &lt; Noosfero::Plugin @@ -6,8 +6,6 @@ class SolrPlugin &lt; Noosfero::Plugin
6 6
7 include SolrPlugin::SearchHelper 7 include SolrPlugin::SearchHelper
8 8
9 - delegate :params, :current_user, :to => :context  
10 -  
11 def self.plugin_name 9 def self.plugin_name
12 "Solr" 10 "Solr"
13 end 11 end
@@ -28,11 +26,18 @@ class SolrPlugin &lt; Noosfero::Plugin @@ -28,11 +26,18 @@ class SolrPlugin &lt; Noosfero::Plugin
28 return if empty_query?(query, category) && klass != Product 26 return if empty_query?(query, category) && klass != Product
29 27
30 solr_options = solr_options(class_asset(klass), category) 28 solr_options = solr_options(class_asset(klass), category)
31 - user = context.send(:logged_in?) ? context.send(:user) : nil  
32 solr_options.merge!(products_options(user)) if klass == Product && empty_query?(query, category) 29 solr_options.merge!(products_options(user)) if klass == Product && empty_query?(query, category)
33 klass.find_by_contents(query, paginate_options, solr_options.merge(options)) 30 klass.find_by_contents(query, paginate_options, solr_options.merge(options))
34 end 31 end
35 32
  33 + def method_missing method, *args, &block
  34 + if self.context.respond_to? method
  35 + self.context.send method, *args, &block
  36 + else
  37 + super method, *args, &block
  38 + end
  39 + end
  40 +
36 end 41 end
37 42
38 Dir[File.join(SolrPlugin.root_path, 'lib', 'ext', '*.rb')].each {|file| require_dependency file } 43 Dir[File.join(SolrPlugin.root_path, 'lib', 'ext', '*.rb')].each {|file| require_dependency file }
plugins/solr/lib/solr_plugin/.search_helper.rb.swp
No preview for this file type
plugins/solr/lib/solr_plugin/search_helper.rb
@@ -54,7 +54,7 @@ module SolrPlugin::SearchHelper @@ -54,7 +54,7 @@ module SolrPlugin::SearchHelper
54 end 54 end
55 55
56 def results_only? 56 def results_only?
57 - context.params[:action] == 'index' 57 + params[:action] == 'index'
58 end 58 end
59 59
60 def empty_query?(query, category) 60 def empty_query?(query, category)
@@ -84,18 +84,18 @@ module SolrPlugin::SearchHelper @@ -84,18 +84,18 @@ module SolrPlugin::SearchHelper
84 solr_options = {} 84 solr_options = {}
85 if !multiple_search? 85 if !multiple_search?
86 if !results_only? and asset_class.respond_to? :facets 86 if !results_only? and asset_class.respond_to? :facets
87 - solr_options.merge! asset_class.facets_find_options(context.params[:facet]) 87 + solr_options.merge! asset_class.facets_find_options(params[:facet])
88 solr_options[:all_facets] = true 88 solr_options[:all_facets] = true
89 end 89 end
90 solr_options[:filter_queries] ||= [] 90 solr_options[:filter_queries] ||= []
91 solr_options[:filter_queries] += filters(asset) 91 solr_options[:filter_queries] += filters(asset)
92 - solr_options[:filter_queries] << "environment_id:#{context.environment.id}" 92 + solr_options[:filter_queries] << "environment_id:#{environment.id}"
93 solr_options[:filter_queries] << asset_class.facet_category_query.call(category) if category 93 solr_options[:filter_queries] << asset_class.facet_category_query.call(category) if category
94 94
95 solr_options[:boost_functions] ||= [] 95 solr_options[:boost_functions] ||= []
96 - context.params[:order_by] = nil if context.params[:order_by] == 'none'  
97 - if context.params[:order_by]  
98 - order = SortOptions[asset][context.params[:order_by].to_sym] 96 + params[:order_by] = nil if params[:order_by] == 'none'
  97 + if params[:order_by]
  98 + order = SortOptions[asset][params[:order_by].to_sym]
99 raise "Unknown order by" if order.nil? 99 raise "Unknown order by" if order.nil?
100 order[:solr_opts].each do |opt, value| 100 order[:solr_opts].each do |opt, value|
101 solr_options[opt] = value.is_a?(Proc) ? instance_eval(&value) : value 101 solr_options[opt] = value.is_a?(Proc) ? instance_eval(&value) : value
plugins/solr/public/style.css
1 .controller-search #search-column-right .search-field .formfield { 1 .controller-search #search-column-right .search-field .formfield {
2 width: 594px; 2 width: 594px;
3 - display: inline-block; 3 + display: inline;
4 } 4 }
5 5
6 #search-column-right .search-customize-options { 6 #search-column-right .search-customize-options {
7 - position: absolute;  
8 margin: 0; 7 margin: 0;
9 padding: 5px 0; 8 padding: 5px 0;
10 - bottom: 0;  
11 - left: 0;  
12 } 9 }
13 10
14 #search-column-right .search-results-box .vcard { 11 #search-column-right .search-results-box .vcard {
plugins/solr/test/functional/.search_controller_test.rb.swp
No preview for this file type
plugins/solr/views/search/.communities.rhtml.swp
No preview for this file type
plugins/solr/views/search/.people.rhtml.swp
No preview for this file type
plugins/solr/views/search/_facets.html.erb
1 -<% if logged_in? %>  
2 - <% button_bar do %>  
3 - <%# FIXME shouldn't the user create the community in the current environment instead of going to its home environment? %>  
4 - <%= button(:add, __('New community'), user.url.merge(:controller => 'memberships', :action => 'new_community', :profile => user.identifier)) if @asset == :communities %>  
5 - <%= button(:add, __('New enterprise'), {:controller => 'enterprise_registration'}) if @asset == :enterprises && environment.enabled?('enterprise_registration') %>  
6 - <% end %>  
7 -<% end %>  
8 <% if !@empty_query %> 1 <% if !@empty_query %>
9 <%= facets_menu(@asset, @facets) %> 2 <%= facets_menu(@asset, @facets) %>
10 <% end %> 3 <% end %>
  4 +
plugins/solr/views/search/search_page.html.erb
@@ -3,17 +3,13 @@ @@ -3,17 +3,13 @@
3 3
4 <%= search_page_title( @titles[@asset], @category ) %> 4 <%= search_page_title( @titles[@asset], @category ) %>
5 5
6 -<% if !@empty_query %>  
7 - <div id='search-column-left'>  
8 - <%= render :partial => 'facets' %>  
9 - </div> 6 +<div id='search-column-left'>
  7 + <%= render :partial => 'facets' if !@empty_query %>
  8 +</div>
10 9
11 - <div id='search-column-right'>  
12 - <%= render :partial => 'results' %>  
13 - </div>  
14 -<% else %> 10 +<div id='search-column-right'>
15 <%= render :partial => 'results' %> 11 <%= render :partial => 'results' %>
16 -<% end %> 12 +</div>
17 13
18 <div style="clear: both"></div> 14 <div style="clear: both"></div>
19 15
public/stylesheets/search.css
@@ -753,19 +753,13 @@ li.search-product-item hr { @@ -753,19 +753,13 @@ li.search-product-item hr {
753 .search-content-first-column { 753 .search-content-first-column {
754 width: 130px; 754 width: 130px;
755 min-height: 98px; 755 min-height: 98px;
756 - position: absolute;  
757 -}  
758 -.search-gallery .search-content-first-column {  
759 - width: 190px; 756 + float: left;
760 } 757 }
761 758
762 .search-content-second-column { 759 .search-content-second-column {
763 margin-left: 140px; 760 margin-left: 140px;
764 width: auto; 761 width: auto;
765 } 762 }
766 -.search-gallery .search-content-second-column {  
767 - margin-left: 200px;  
768 -}  
769 763
770 .search-content-second-column tr:hover { 764 .search-content-second-column tr:hover {
771 background-color: none; 765 background-color: none;
@@ -789,7 +783,7 @@ ul.clean-list .search-content-second-column { @@ -789,7 +783,7 @@ ul.clean-list .search-content-second-column {
789 width:795px; 783 width:795px;
790 } 784 }
791 ul.clean-list .search-gallery-content { 785 ul.clean-list .search-gallery-content {
792 - width:655px 786 + width:655px;
793 } 787 }
794 a.search-image-pic { 788 a.search-image-pic {
795 border: 1px solid #F2F2F2; 789 border: 1px solid #F2F2F2;
@@ -819,7 +813,7 @@ a.search-image-pic { @@ -819,7 +813,7 @@ a.search-image-pic {
819 font-weight: bold; 813 font-weight: bold;
820 text-transform: uppercase; 814 text-transform: uppercase;
821 letter-spacing: 1px; 815 letter-spacing: 1px;
822 - user-select: none; 816 + user-select: none;
823 border-radius: 5px; 817 border-radius: 5px;
824 -moz-user-select: none; 818 -moz-user-select: none;
825 -khtml-user-select: none; 819 -khtml-user-select: none;
@@ -844,8 +838,9 @@ a.search-image-pic { @@ -844,8 +838,9 @@ a.search-image-pic {
844 .search-gallery .search-gallery-items { 838 .search-gallery .search-gallery-items {
845 float: left; 839 float: left;
846 margin: 0; 840 margin: 0;
847 - min-width: 130px; 841 + width: 130px;
848 position: relative; 842 position: relative;
  843 + overflow: hidden;
849 } 844 }
850 845
851 .search-gallery .search-gallery-items a.search-image-pic { 846 .search-gallery .search-gallery-items a.search-image-pic {