Sha256: 3774d47cf4e8697ed0b6c78506f8ea3780ca4f53147d384439ffc9a47923229e
Contents?: true
Size: 1.42 KB
Versions: 3
Compression:
Stored size: 1.42 KB
Contents
module Spree class ProductsController < BaseController before_filter :load_product, :only => :show rescue_from ActiveRecord::RecordNotFound, :with => :render_404 helper 'spree/taxons' respond_to :html def index @searcher = Config.searcher_class.new(params) @searcher.current_user = try_spree_current_user @products = @searcher.retrieve_products respond_with(@products) end def show return unless @product @variants = Variant.active.includes([:option_values, :images]).where(:product_id => @product.id) @product_properties = ProductProperty.includes(:property).where(:product_id => @product.id) referer = request.env['HTTP_REFERER'] if referer begin referer_path = URI.parse(request.env['HTTP_REFERER']).path # Fix for #2249 rescue URI::InvalidURIError # Do nothing else if referer_path && referer_path.match(/\/t\/(.*)/) @taxon = Taxon.find_by_permalink($1) end end end respond_with(@product) end private def accurate_title @product ? @product.name : super end def load_product if try_spree_current_user.try(:has_spree_role?, "admin") @product = Product.find_by_permalink!(params[:id]) else @product = Product.active.find_by_permalink!(params[:id]) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
spree_core-1.2.5 | app/controllers/spree/products_controller.rb |
spree_core-1.2.4 | app/controllers/spree/products_controller.rb |
spree_core-1.2.3 | app/controllers/spree/products_controller.rb |