Commit 6db82f82c71736b813ee97d8f06406f0415d7c97
1 parent
f13ee31e
Exists in
staging
and in
42 other branches
ActionItem527: products now is shown in the map
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2179 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
26 additions
and
4 deletions
Show diff stats
app/controllers/public/search_controller.rb
... | ... | @@ -120,7 +120,11 @@ class SearchController < ApplicationController |
120 | 120 | # TODO: dont hardcore like this |
121 | 121 | def limit |
122 | 122 | searching = @searching.values.select{|v|v} |
123 | - (searching.size == 1) ? 10 : 6 | |
123 | + if params[:display] == 'map' | |
124 | + 100 | |
125 | + else | |
126 | + (searching.size == 1) ? 20 : 6 | |
127 | + end | |
124 | 128 | end |
125 | 129 | |
126 | 130 | public | ... | ... |
app/helpers/search_helper.rb
... | ... | @@ -41,9 +41,9 @@ module SearchHelper |
41 | 41 | |
42 | 42 | def display_item_map_info(item) |
43 | 43 | if item.kind_of?(Profile) |
44 | - display_profile_info | |
44 | + display_profile_info(item) | |
45 | 45 | elsif item.kind_of?(Product) |
46 | - display_product_info | |
46 | + display_product_info(item) | |
47 | 47 | end |
48 | 48 | end |
49 | 49 | |
... | ... | @@ -77,6 +77,24 @@ module SearchHelper |
77 | 77 | ) |
78 | 78 | end |
79 | 79 | |
80 | + def display_product_info(product) | |
81 | + data = '' | |
82 | + unless product.price.nil? | |
83 | + data << content_tag('strong', _('Price: ')) + product.price + '<br/>' | |
84 | + end | |
85 | + unless product.enterprise.nil? | |
86 | + data << content_tag('strong', _('Provider: ')) + link_to_profile(product.enterprise.name, product.enterprise.identifier) | |
87 | + end | |
88 | + unless product.product_category.nil? | |
89 | + data << content_tag('strong', _('Category: ')) + link_to(product.product_category.name, :controller => 'search', :action => 'assets', :asset => 'products', :product_category => product.product_category.id) | |
90 | + end | |
91 | + content_tag('table', | |
92 | + content_tag('tr', | |
93 | + content_tag('td', content_tag('div', image_tag(product.image ? product.image.public_filename(:thumb) : '/images/icons-app/product-default-pic-portrait.png'), :class => 'profile-info-picture')) + | |
94 | + content_tag('td', content_tag('strong', link_to(product.name, :controller => 'catalog', :profile => product.enterprise.identifier, :action => 'show', :id => product)) + '<br/>' + data) | |
95 | + ), :class => 'profile-info') | |
96 | + end | |
97 | + | |
80 | 98 | def pagination_links(collection, options={}) |
81 | 99 | options = {:prev_label => '« ' + _('Previous'), :next_label => _('Next') + ' »'}.merge(options) |
82 | 100 | will_paginate(collection, options) | ... | ... |
app/views/search/_google_maps.rhtml
... | ... | @@ -56,7 +56,7 @@ if (GBrowserIsCompatible()) { |
56 | 56 | results.each do |item| |
57 | 57 | if item.lat && item.lng |
58 | 58 | %> |
59 | - putMarker(<%= item.lat.to_json %>, <%= item.lng.to_json %>, <%= item.name.to_json %>, <%= display_profile_info(item).to_json %>); | |
59 | + putMarker(<%= item.lat.to_json %>, <%= item.lng.to_json %>, <%= item.name.to_json %>, <%= display_item_map_info(item).to_json %>); | |
60 | 60 | <% |
61 | 61 | else |
62 | 62 | missed = true | ... | ... |