Sha256: 77bba022a07d0a4d114c3aac08ff2f8f0b72aa0589eab3c713b262ff8e269445
Contents?: true
Size: 1.78 KB
Versions: 1
Compression:
Stored size: 1.78 KB
Contents
module Spree module Core module ControllerHelpers module Store extend ActiveSupport::Concern included do helper_method :current_store helper_method :current_price_options helper_method :available_menus end def current_store @current_store ||= current_store_finder.new(url: request.env['SERVER_NAME']).execute end def available_menus @available_menus ||= current_store.menus end def store_locale current_store.default_locale end # Return a Hash of things that influence the prices displayed in your shop. # # By default, the only thing that influences prices that is the current order's +tax_zone+ # (to facilitate differing prices depending on VAT rate for digital products in Europe, see # https://github.com/spree/spree/pull/6295 and https://github.com/spree/spree/pull/6662). # # If your prices depend on something else, overwrite this method and add # more key/value pairs to the Hash it returns. # # Be careful though to also patch the following parts of Spree accordingly: # # * `Spree::VatPriceCalculation#gross_amount` # * `Spree::LineItem#update_price` # * `Spree::Stock::Estimator#taxation_options_for` # * Subclass the `DefaultTax` calculator # def current_price_options { tax_zone: current_tax_zone } end private def current_tax_zone @current_tax_zone ||= @current_order&.tax_zone || Spree::Zone.default_tax end def current_store_finder Spree::Dependencies.current_store_finder.constantize end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spree_core-4.3.0.rc1 | lib/spree/core/controller_helpers/store.rb |