Sha256: 487b08766a73d1c5ffa1dea473e18f6e985e15e2b36559df48d3fb9cf7ccb82a

Contents?: true

Size: 1.4 KB

Versions: 10

Compression:

Stored size: 1.4 KB

Contents

module ProductsHelper
  # returns the formatted change in price (from the master price) for the specified variant (or simply return
  # the variant price if no master price was supplied)
  def variant_price_diff(variant)
    return product_price(variant) unless variant.product.master.price
    diff = product_price(variant, :format_as_currency => false) - product_price(variant.product, :format_as_currency => false)
    return nil if diff == 0
    if diff > 0
      "(#{t("add")}: #{format_price diff.abs})"
    else
      "(#{t("subtract")}: #{format_price diff.abs})"
    end
  end

  # returns the price of the product to show for display purposes
  def product_price(product_or_variant, options={})
    options.assert_valid_keys(:format_as_currency, :show_vat_text)
    options.reverse_merge! :format_as_currency => true, :show_vat_text => Spree::Config[:show_price_inc_vat]

    amount = product_or_variant.price
    amount += Calculator::Vat.calculate_tax_on(product_or_variant) if Spree::Config[:show_price_inc_vat]
    options.delete(:format_as_currency) ? format_price(amount, options) : amount
  end

  # converts line breaks in product description into <p> tags (for html display purposes)
  def product_description(product)
    raw(product.description.gsub(/^(.*)$/, '<p>\1</p>'))
  end

  def variant_images_hash(product)
    product.variant_images.inject({}){|h, img| (h[img.viewable_id] ||= []) << img; h }
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spree_core-0.70.7 app/helpers/products_helper.rb
spree_core-0.70.6 app/helpers/products_helper.rb
spree_core-0.70.5 app/helpers/products_helper.rb
spree_core-0.70.4 app/helpers/products_helper.rb
spree_core-0.70.3 app/helpers/products_helper.rb
spree_core-0.70.2 app/helpers/products_helper.rb
spree_core-0.70.1 app/helpers/products_helper.rb
spree_core-0.70.0 app/helpers/products_helper.rb
spree_core-0.70.0.rc2 app/helpers/products_helper.rb
spree_core-0.70.RC1 app/helpers/products_helper.rb