Sha256: 712aa8ae02d2f15945153fe09f7561635e5ae2d267d161a98190cf9c0f390f0b

Contents?: true

Size: 940 Bytes

Versions: 1

Compression:

Stored size: 940 Bytes

Contents

class Admin::InventoryUnitsController < Admin::BaseController
    
  def adjust
    @variant = Variant.find(params[:id])
    if request.post?
      @level = InventoryLevel.new(params[:level])
      @level.on_hand = @variant.inventory(InventoryUnit::Status::ON_HAND)

      begin
        #throw "Invalid Adjustment Quantity" unless @level.valid?
        InventoryUnit.create_on_hand(@variant, @level.adjustment) if @level.adjustment > 0
        InventoryUnit.destroy_on_hand(@variant, @level.adjustment.abs) if @level.adjustment < 0
        flash.now[:notice] = "Inventory level has been adjusted."
        @variant.reload
        @level = InventoryLevel.new(:adjustment => 0)
      rescue 
        flash.now[:error] = "Error occurred while updating inventory."
        flash.now[:error] = "Invalid adjustment quantity" unless @level.errors.empty?
      end
    else
      @level = InventoryLevel.new(:adjustment => 0)
    end
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree-0.2.0 app/controllers/admin/inventory_units_controller.rb