Commit 5b1eb2d2059b02737ba945629bce1496d2bcfc78
Exists in
master
and in
23 other branches
Merge branch 'stable'
Conflicts: app/helpers/application_helper.rb app/helpers/manage_products_helper.rb
Showing
6 changed files
with
52 additions
and
6 deletions
Show diff stats
app/helpers/application_helper.rb
| ... | ... | @@ -981,4 +981,8 @@ module ApplicationHelper |
| 981 | 981 | javascript_tag('render_jquery_ui_buttons()') |
| 982 | 982 | end |
| 983 | 983 | |
| 984 | + def float_to_currency(value) | |
| 985 | + number_to_currency(value, :unit => environment.currency_unit, :separator => environment.currency_separator, :delimiter => environment.currency_delimiter, :format => "%u %n") | |
| 986 | + end | |
| 987 | + | |
| 984 | 988 | end | ... | ... |
app/helpers/display_helper.rb
| ... | ... | @@ -2,12 +2,16 @@ module DisplayHelper |
| 2 | 2 | |
| 3 | 3 | def link_to_product(product, opts={}) |
| 4 | 4 | return _('No product') unless product |
| 5 | - target = product.enterprise.enabled? ? product.enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => product) : product.enterprise.url | |
| 5 | + target = product_path(product) | |
| 6 | 6 | link_to content_tag( 'span', product.name ), |
| 7 | 7 | target, |
| 8 | 8 | opts |
| 9 | 9 | end |
| 10 | 10 | |
| 11 | + def product_path(product) | |
| 12 | + product.enterprise.enabled? ? product.enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => product) : product.enterprise.url | |
| 13 | + end | |
| 14 | + | |
| 11 | 15 | def link_to_category(category, full = true) |
| 12 | 16 | return _('Uncategorized product') unless category |
| 13 | 17 | name = full ? category.full_name(' → ') : category.name | ... | ... |
app/helpers/manage_products_helper.rb
| ... | ... | @@ -158,8 +158,10 @@ module ManageProductsHelper |
| 158 | 158 | end |
| 159 | 159 | end |
| 160 | 160 | |
| 161 | - def float_to_currency(value) | |
| 162 | - number_to_currency(value, :unit => environment.currency_unit, :separator => environment.currency_separator, :delimiter => environment.currency_delimiter, :format => "%u %n") | |
| 161 | + def edit_product_category_link(product, html_options = {}) | |
| 162 | + return '' unless (user && user.has_permission?('manage_products', profile)) | |
| 163 | + options = html_options.merge(:id => 'link-edit-product-category') | |
| 164 | + link_to(_('Change category'), { :action => 'edit_category', :id => product.id}, options) | |
| 163 | 165 | end |
| 164 | 166 | |
| 165 | 167 | def display_value(product) | ... | ... |
app/views/blocks/featured_products.rhtml
| ... | ... | @@ -9,13 +9,13 @@ |
| 9 | 9 | <ul> |
| 10 | 10 | <% group.reject{ |x| x.nil? }.each_with_index do |p, i| %> |
| 11 | 11 | <li class="featured-product-item"> |
| 12 | - <%= link_to content_tag(:img, nil, :src => p.image.public_filename(:thumb), :alt => p.name, :class => ('reflect' if block.reflect)), product_path(p.enterprise.identifier, p), :class => 'featured-product-image' %> | |
| 12 | + <%= link_to content_tag(:img, nil, :src => p.image.public_filename(:thumb), :alt => p.name, :class => ('reflect' if block.reflect)), product_path(p), :class => 'featured-product-image' %> | |
| 13 | 13 | <div class="featured-product-info position-<%= i + 1 %>" style="display: none"> |
| 14 | 14 | <div class="featured-product-text"> |
| 15 | 15 | <h3><%= p.name %></h3> |
| 16 | 16 | <p class="featured-product-price"><%= float_to_currency(p.price) %></p> |
| 17 | 17 | <p class="featured-product-desc"><%= p.description.chars[0...50].to_s + '...' %></p> |
| 18 | - <p><%= link_to _('See More'), product_path(p.enterprise.identifier, p), :class => 'featured-product-link' %></p> | |
| 18 | + <p><%= link_to _('See More'), product_path(p), :class => 'featured-product-link' %></p> | |
| 19 | 19 | </div> |
| 20 | 20 | </div> |
| 21 | 21 | </li> | ... | ... |
| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | +Feature: featured_products_block | |
| 2 | + As a profile owner | |
| 3 | + I want to edit the featured block | |
| 4 | + | |
| 5 | + Background: | |
| 6 | + Given I am on the homepage | |
| 7 | + And the following users | |
| 8 | + | login | name | | |
| 9 | + | eddievedder | Eddie Vedder | | |
| 10 | + And the following enterprises | |
| 11 | + | identifier | owner | name | enabled | | |
| 12 | + | redemoinho | eddievedder | Rede Moinho | true | | |
| 13 | + And the following blocks | |
| 14 | + | owner | type | | |
| 15 | + | redemoinho | FeaturedProductsBlock | | |
| 16 | + And the following product_category | |
| 17 | + | name | | |
| 18 | + | automobile | | |
| 19 | + And the following products | |
| 20 | + | owner | category | name | description | highlighted | | |
| 21 | + | redemoinho | automobile | Car | Red Car | true | | |
| 22 | + | redemoinho | automobile | Truck | Blue Truck | true | | |
| 23 | + And I am logged in as "eddievedder" | |
| 24 | + | |
| 25 | + @selenium | |
| 26 | + Scenario: select a product to be featured | |
| 27 | + And I follow "Manage my groups" | |
| 28 | + And I follow "Control panel of this group" | |
| 29 | + And I follow "Edit sideboxes" | |
| 30 | + Given I follow "Edit" within ".featured-products-block" | |
| 31 | + And I select "Car" | |
| 32 | + When I press "Save" | |
| 33 | + Then I should see "Car" | |
| 34 | + And I should not see "float_to_currency" | |
| 35 | + And I should not see "product_path" | ... | ... |
features/step_definitions/noosfero_steps.rb
| ... | ... | @@ -62,7 +62,8 @@ Given /^the following products$/ do |table| |
| 62 | 62 | data = item.dup |
| 63 | 63 | owner = Enterprise[data.delete("owner")] |
| 64 | 64 | category = Category.find_by_slug(data.delete("category")) |
| 65 | - Product.create!(data.merge(:enterprise => owner, :product_category => category)) | |
| 65 | + product = Product.create!(data.merge(:enterprise => owner, :product_category => category)) | |
| 66 | + image = Image.create!(:owner => product, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')) | |
| 66 | 67 | end |
| 67 | 68 | end |
| 68 | 69 | ... | ... |