Sha256: 355f7a5ff305e8855951866acec8497d181837fdabf5c136ab2a7b677f22c1a3

Contents?: true

Size: 992 Bytes

Versions: 10

Compression:

Stored size: 992 Bytes

Contents

module Spree
  module Admin
    class PricesController < ResourceController
      belongs_to 'spree/product', find_by: :slug

      def create
        params.require(:vp).permit!
        params[:vp].each do |variant_id, prices|
          next unless variant_id

          variant = Spree::Variant.find(variant_id)
          next unless variant

          supported_currencies_for_all_stores.each do |currency|
            price = variant.price_in(currency.iso_code)
            price.price = (prices[currency.iso_code]['price'].blank? ? nil : prices[currency.iso_code]['price'])
            price.compare_at_price = (prices[currency.iso_code]['compare_at_price'].blank? ? nil : prices[currency.iso_code]['compare_at_price'])
            price.save! if price.new_record? && price.price || !price.new_record? && price.changed?
          end
        end
        flash[:success] = Spree.t('notice_messages.prices_saved')
        redirect_to admin_product_path(parent)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spree_backend-4.2.7 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.6 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.5 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.4 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.3.1 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.3 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.2 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.1 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.0 app/controllers/spree/admin/prices_controller.rb
spree_backend-4.2.0.rc5 app/controllers/spree/admin/prices_controller.rb