Sha256: 04e41062c90fca3da6b25edcd4f1f05dab89066a625bff048fee14f20d8d2435

Contents?: true

Size: 1.5 KB

Versions: 89

Compression:

Stored size: 1.5 KB

Contents

module Spree
  module Admin
    class StockItemsController < Spree::Admin::BaseController
      before_action :determine_backorderable, only: :update

      def update
        stock_item.save
        respond_to do |format|
          format.js { head :ok }
        end
      end

      def create
        variant = Variant.find(params[:variant_id])
        stock_location = StockLocation.find(params[:stock_location_id])
        stock_movement = stock_location.stock_movements.build(stock_movement_params)
        stock_movement.stock_item = stock_location.set_up_stock_item(variant)

        if stock_movement.save
          flash[:success] = flash_message_for(stock_movement, :successfully_created)
        else
          flash[:error] = Spree.t(:could_not_create_stock_movement)
        end

        redirect_back fallback_location: spree.stock_admin_product_url(variant.product)
      end

      def destroy
        stock_item.destroy

        respond_with(@stock_item) do |format|
          format.html { redirect_back fallback_location: spree.stock_admin_product_url(stock_item.product) }
          format.js
        end
      end

      private

      def stock_movement_params
        params.require(:stock_movement).permit(permitted_stock_movement_attributes)
      end

      def stock_item
        @stock_item ||= StockItem.find(params[:id])
      end

      def determine_backorderable
        stock_item.backorderable = params[:stock_item].present? && params[:stock_item][:backorderable].present?
      end
    end
  end
end

Version data entries

89 entries across 89 versions & 1 rubygems

Version Path
spree_backend-4.0.9 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.1.15 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.7 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.6 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.5 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.1.14 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.0.8 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.4 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-3.7.14.1 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.3.1 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.1.13.1 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.0.7.1 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.3 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.2 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.1 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.0.7 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-3.7.14 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.0 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.0.rc5 app/controllers/spree/admin/stock_items_controller.rb
spree_backend-4.2.0.rc4 app/controllers/spree/admin/stock_items_controller.rb