Commit d8b607f920c351e985374cb0c2aa79d82d6ea796
1 parent
944fc830
Exists in
staging
and in
42 other branches
ActionItem509: pagination everywhere
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2143 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
5 changed files
with
21 additions
and
12 deletions
Show diff stats
app/controllers/public/search_controller.rb
| @@ -89,11 +89,11 @@ class SearchController < ApplicationController | @@ -89,11 +89,11 @@ class SearchController < ApplicationController | ||
| 89 | def load_product_categories_menu(asset) | 89 | def load_product_categories_menu(asset) |
| 90 | @results[asset].uniq! | 90 | @results[asset].uniq! |
| 91 | @categories_menu = ProductCategory.menu_categories(@product_category, environment).map do |cat| | 91 | @categories_menu = ProductCategory.menu_categories(@product_category, environment).map do |cat| |
| 92 | - hits = @finder.count(:products, @filtered_query, calculate_find_options(asset, nil, nil, cat, @region, params[:radius])) | 92 | + hits = @finder.count(asset, @filtered_query, calculate_find_options(asset, nil, nil, cat, @region, params[:radius])) |
| 93 | childs = [] | 93 | childs = [] |
| 94 | # REFACTOR DUPLICATED CODE inner loop doing the same thing that outter loop | 94 | # REFACTOR DUPLICATED CODE inner loop doing the same thing that outter loop |
| 95 | childs = cat.children.map do |child| | 95 | childs = cat.children.map do |child| |
| 96 | - child_hits = @finder.count(:products, @filtered_query, calculate_find_options(asset, nil, nil, child, @region, params[:radius])) | 96 | + child_hits = @finder.count(asset, @filtered_query, calculate_find_options(asset, nil, nil, child, @region, params[:radius])) |
| 97 | [child, child_hits] | 97 | [child, child_hits] |
| 98 | end.select{|child, child_hits| child_hits > 0 } | 98 | end.select{|child, child_hits| child_hits > 0 } |
| 99 | [cat, hits, childs] | 99 | [cat, hits, childs] |
app/helpers/search_helper.rb
| @@ -39,6 +39,14 @@ module SearchHelper | @@ -39,6 +39,14 @@ module SearchHelper | ||
| 39 | content_tag('div', data[:toggle] + (render :partial => data[:partial]), :class => "map-or-list-search-results #{data[:class]}") | 39 | content_tag('div', data[:toggle] + (render :partial => data[:partial]), :class => "map-or-list-search-results #{data[:class]}") |
| 40 | end | 40 | end |
| 41 | 41 | ||
| 42 | + def display_item_map_info(item) | ||
| 43 | + if item.kind_of?(Profile) | ||
| 44 | + display_profile_info | ||
| 45 | + elsif item.kind_of?(Product) | ||
| 46 | + display_product_info | ||
| 47 | + end | ||
| 48 | + end | ||
| 49 | + | ||
| 42 | def display_profile_info(profile) | 50 | def display_profile_info(profile) |
| 43 | # FIXME add distance | 51 | # FIXME add distance |
| 44 | data = '' | 52 | data = '' |
| @@ -67,4 +75,9 @@ module SearchHelper | @@ -67,4 +75,9 @@ module SearchHelper | ||
| 67 | ) | 75 | ) |
| 68 | end | 76 | end |
| 69 | 77 | ||
| 78 | + def pagination_links(collection, options={}) | ||
| 79 | + options = {:prev_label => '« ' + _('Previous'), :next_label => _('Next') + ' »'}.merge(options) | ||
| 80 | + will_paginate(collection, options) | ||
| 81 | + end | ||
| 82 | + | ||
| 70 | end | 83 | end |
app/views/search/enterprises.rhtml
app/views/search/people.rhtml
| @@ -19,9 +19,10 @@ | @@ -19,9 +19,10 @@ | ||
| 19 | </div> | 19 | </div> |
| 20 | <% end %> | 20 | <% end %> |
| 21 | 21 | ||
| 22 | - | ||
| 23 | <%= render :partial => 'search_form', :locals => { :form_title => @query.blank? ? _('Search') : _("Refine your search"), :simple_search => true } %> | 22 | <%= render :partial => 'search_form', :locals => { :form_title => @query.blank? ? _('Search') : _("Refine your search"), :simple_search => true } %> |
| 24 | 23 | ||
| 25 | <%= display_results %> | 24 | <%= display_results %> |
| 26 | 25 | ||
| 26 | +<%= pagination_links @results.values.first %> | ||
| 27 | + | ||
| 27 | <br style="clear:both" /> | 28 | <br style="clear:both" /> |
app/views/search/products.rhtml
| @@ -24,19 +24,12 @@ | @@ -24,19 +24,12 @@ | ||
| 24 | 24 | ||
| 25 | <%= render :partial => 'product_categories_menu', :object => @categories_menu %> | 25 | <%= render :partial => 'product_categories_menu', :object => @categories_menu %> |
| 26 | 26 | ||
| 27 | -<div id="search-results" class="only-one-result-box"> | ||
| 28 | - <div class="search-results-products search-results-box"> | ||
| 29 | - <div class="search-results-innerbox search-results-type-product"> | ||
| 30 | - <ul><%= render :partial => 'product', :collection => @results[:products] %></ul> | ||
| 31 | - </div> | ||
| 32 | - <hr /> | ||
| 33 | - </div> | ||
| 34 | -</div> | 27 | +<%= display_results %> |
| 35 | 28 | ||
| 36 | <% if @categories_menu %> | 29 | <% if @categories_menu %> |
| 37 | </div><!-- class="has_cat_list" --> | 30 | </div><!-- class="has_cat_list" --> |
| 38 | <% end %> | 31 | <% end %> |
| 39 | 32 | ||
| 40 | -<%= will_paginate @results[:products], :id => 'products-pagination' %> | 33 | +<%= will_paginate @results[:products] %> |
| 41 | 34 | ||
| 42 | <br style="clear:both" /> | 35 | <br style="clear:both" /> |